在插入数据后,检索主键标识字段的值有多种方法。
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
在插入后返回一个身份表:
Create Table #Testing (
id int identity,
somedate datetime default getdate()
)
insert into #Testing
output inserted.*
default values
什么方法是适当或更好的?OUTPUT方法是否具有作用域安全性?
第二个代码片段来自SQL in the Wild。