最近项目中使用了SCOPE_IDENTITY()来获取新增数据的自动递增ID号.
在运行过程中会不时的发生无法通过SCOPE_IDENTITY()来获取ID号的情况.
尝试着测试又发现不了问题.
今天在官网发现了OUTPUT可以代替使用.
先尝试一个例子:
Create Table dbo.test(
nid int Identity(1,1),
n varchar(20)
)
declare @tmptest Table (
nid int,
n varchar(20)
)
---新增
insert into dbo.test(n)
OUTPUT INSERTED.nid,INSERTED.n into @tmptest
values('你好')
select * from @tmptest
select * from dbo.test
有点触发器的感觉...
对更新和删除操作同理,详细介绍地址为:
http://msdn.microsoft.com/en-us/library/ms177564(v=sql.90).aspx