信息产业培训网
[当前位置]:首页--技术专区--数据库--Sql ServerRSS订阅按钮

SQL Server 2005返回刚刚插入的数据条目id值

http://www.miiceic.org.cn   2008-8-15 11:47:06   中程在线   浏览数:
关键字:SQL Server 2005 id值

  有些时候我们需要得到刚刚插入数据库中的条目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 行受影响)

来源:CCID
相关连接
最新评论
*以下网友发言不代表中程在线网站的观点和看法
    我要评论

    请您注意
    1、遵守中华人民共和国的各项有关法律规定
    2、承担一切因您的行为而导致的法律责任
    3、本网留言管理人员有权删除其管辖留言内容
    4、您在本网的留言本网有权在网站内转载和引用
    5、参与本留言即表明您已经阅读并接受上述条款
    我爱研发网中电华信阿里西西JAVA爱好者北京英才网全球大学查询网
    中国人的网站导航中国电脑论坛信息产业部新浪科技搜狐IT信息产业部电子教育与考试中心
    IT世界网软件项目交易网中国软件交易网国信培训网亚远景科技....[更多]
    关于我们 | 网站地图 | 周边住宿 | 行车路线 | 联系我们 | 网站律师 | 意见反馈 | 虚位以待 | 友情链接
    中程在线(北京)科技有限公司 版权所有
    总 部:北京市海淀区青东商务楼A座西四层
    企业培训部:010-52636110 52636106 就业培训部:010-68716925 68716926
    邮 件:training@miiceic.org.cn
    京ICP备06053134号
    Copyright © 2005-2008 Miiceic.org.cn All Rights Reserved