放弃SCOPE_Identity,使用OUTPUT代替

2014-11-24 11:58:51 · 作者: · 浏览: 1
放弃SCOPE_Identity,使用OUTPUT代替
最近项目中使用了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

有点触发器的感觉...