Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Insert link server и @@identity  [new]
Anderson
Member

Откуда: г.Ростов-на-Дону
Сообщений: 396
делаю вставку в таблицу через линкованный сервер обычным обрвзом
INSERT INTO [server].[base].[dbo].[table]
()

Values()

set @new_id = @@identity

но увы он возвращает получается идентифи4катор локального сервака, как получить идентификатор с удаленного сервера.

Спасибо.
10 сен 09, 18:31    [7644360]     Ответить | Цитировать Сообщить модератору
 Re: Insert link server и @@identity  [new]
el Pueblo
Member

Откуда: Харьков
Сообщений: 202
Anderson
делаю вставку в таблицу через линкованный сервер обычным обрвзом
INSERT INTO [server].[base].[dbo].[table]
()

Values()

set @new_id = @@identity

но увы он возвращает получается идентифи4катор локального сервака, как получить идентификатор с удаленного сервера.

Спасибо.

в БОЛ написано:
Областью функции @@IDENTITY является текущий сеанс на локальном компьютере, на котором она выполняется. Эту функцию невозможно применить к удаленным или связанным серверам. Чтобы получить значение идентификатора на другом сервере, выполните хранимую процедуру на удаленном или связанном сервере и используйте эту хранимую процедуру (которая выполняется в контексте удаленного или связанного сервера) для сбора значения идентификатора и его возврата вызывающему соединению на локальном сервере.
10 сен 09, 18:39    [7644431]     Ответить | Цитировать Сообщить модератору
 Re: Insert link server и @@identity  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
Заворачивайте
INSERT INTO [table]
()

Values()

set @new_id = SCOUP_IDENTITY()

в вызов [server].[base].[dbo].sp_executesql и возвращайте @new_id выходным параметром, если нет возможности на линкованом сервере хп написать.
10 сен 09, 20:01    [7644848]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить