@@ IDENTITY, SCOPE_IDENTITY (), OUTPUT y otros métodos para recuperar la última identidad
He visto varios métodos utilizados al recuperar el valor de un campo de identidad de clave principal después de la inserción.
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
Devolver una tabla de identidades después del inserto:
Create Table #Testing (
id int identity,
somedate datetime default getdate()
)
insert into #Testing
output inserted.*
default values
¿Qué método es apropiado o mejor? ¿El método OUTPUT es seguro para el alcance?
El segundo fragmento de código fue tomado deSQL en estado salvaje