(http://hi.baidu.com/68tour/blog/item/9c129b60fc488e43ebf8f8de.html ) 有些时候我们需要得到刚 刚插入数据库中的条目id,用于相关系统的更改,在以前我是使用select+top 1+desc 这种笨方法实现的,在没有并发的时候,还说的过去,但用户一多的话,这种方法就不行了,当然,你也可以考虑加锁的办法,但是对性能损耗太大,无意发现SQL Server 2005 的全新output子句,利用它,我们可以很轻松的得到刚刚插入的id号。 具体示例如下: SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO --创建一个临时表 CREATE TABLE [soloreztest]( [id] [int] IDENTITY(1,1) NOT NULL, [name] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL, ) ON [PRIMARY] Go --插入数据,并返回刚刚插入的数据id INSERT INTO [soloreztest] ([name]) output inserted.id VALUES ('solorez') --执行结果: --id ------------- --5 (1 行受影响) --查看所有信息 select * from [soloreztest] --执行结果: --id name ------------- -------------------------------------------------- --1 solorez --2 solorez --3 solorez --4 solorez --5 solorez -- --(5 行受影响) |
|
来自: 小鱼儿363 > 《新知识20160608》