используя @@ identity afer insert - PullRequest
       12

используя @@ identity afer insert

1 голос
/ 07 февраля 2011

У меня есть вставка sql с сервером sql, а затем сразу после этого вызываю select @@ identity, я пытаюсь использовать id идентификации с хранимой процедурой, возможно ли это даже

например

insert into ...
select @@identity

EXEc add 'ss' @@identity

спасибо

edit ---

Я в основном хочу использовать значение идентификатора, который я получаю сейчас с

SELECT SCOPE_IDENTITY ();

для использования в запросе сразу после вставки.

Ответы [ 2 ]

5 голосов
/ 07 февраля 2011

Да, это возможно, хотя вам, вероятно, лучше использовать SCOPE_IDENTITY().

См. этот ТАК вопрос о наилучшем способе получения личностивставленной строки.

3 голосов
/ 07 февраля 2011

Ответ на (теперь удаленный) вопрос в комментариях ...

Можно использовать @@IDENTITY непосредственно в списке параметров вызова хранимой процедуры. Для SCOPE_IDENTITY() (который вы должны использовать, чтобы избежать проблем, если триггер будет позже добавлен в таблицу) этот синтаксис не разрешен, вам нужно использовать промежуточную переменную, как показано ниже.

declare @id int

insert into ...

set @id = SCOPE_IDENTITY() 

EXEC AddEmp2 0,@id
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...