sql 返回刚插入信息的id

有些时候我们需要得到刚刚插入数据库中的条目id,用于相关系统的更改,在以前我是使用select+top 1+desc 这种笨方法实现的,在没有并发的时候,还说的过去,但用户一多的话,这种方法就不行了,当然,你也可以考虑加锁的办法,但是对性能损耗太大,无意发现 SQL Server 2005 的全新output子句,利用它,我们可以很轻松的得到刚刚插入的id号。

具体示例如下:


ExpandedBlockStart.gif 代码
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 行受影响)

转载于:https://www.cnblogs.com/vs-bug/archive/2010/03/19/1689968.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值