@@ IDENTITY, SCOPE_IDENTITY (), OUTPUT e outros métodos de recuperação da última identidade
Eu já vi vários métodos usados ao recuperar o valor de um campo de identidade de chave primária após a inserção.
declare @t table (
id int identity primary key,
somecol datetime default getdate()
)
insert into @t
default values
select SCOPE_IDENTITY() --returns 1
select @@IDENTITY --returns 1
Retornando uma tabela de identidades após a inserção:
Create Table #Testing (
id int identity,
somedate datetime default getdate()
)
insert into #Testing
output inserted.*
default values
Que método é adequado ou melhor? O método OUTPUT é escopo seguro?
O segundo trecho de código foi emprestado deSQL em estado selvagem