代码改变世界

随笔档案-2011年09月

使用 scope_identity() 函数获得表的标识值

2011-09-06 13:58 by dreamhappy, 720 阅读, 收藏, 编辑
摘要: 做开发的时候,我们经常要在执行一条语句后 获得数据库的自增ID值,最典型的例子就是在生成订单后,要返回订单ID,之前有一种不严谨的做法是,用select top 1 ID order by ID desc,值所以不严谨有一种说法是,在高并发用户的情况下,很可能在插入和查询之间又一次进行了插入操作,这样查询的结果就和实际ID不是对应的了。其实这个需求最终的准确解决方法是使用scope_identity() 返回相同范围内最后插入表的标识值,这个范围可以是存储过程,触发器或者是批处理。上面的解释同样适用于为什么不能适用与scope_identity 类似的系统函数 @@identity 另外我.. 阅读全文
点击右上角即可分享
微信分享提示