[MSSQL]SCOPE_IDENTITY,IDENT_CURRENT以及@@IDENTITY的区别

简单解释下SCOPE_IDENTITY函数,IDENT_CURRENT函数以及@@IDENTITY全局变量的区别

  1. SCOPE_IDENTITY函数返回当前作用域内,返回最后一次插入数据表的标识,意思是说,高并发的时候,它不会受到其它会话里的INSERT操作的影响
  2. IDENT_CURRENT函数有点小意思,它不受作用域的影响,但是受限于具体的表,即它返回某表最后一条INSERT的返回标识,不受会话作用域影响,但是受到指定的表的影响
  3. @@IDENTITY这个全局变量只受会话影响,不受具体表影响,也不受作用域影响

 

@@IDENTITY在一次会话里,对任意表而言,它返回最后一次插入到某表后返回的标识,

综合来说,少用@@IDENTITY,优先使用IDENT_CURRENT,其次是SCOPE_IDENTITY,最后才是全局变量,

 

 

 

猜测您可能对下边的文章感兴趣

SQL SERVER 2008 函数大全 - 字符串函数

SQL2008系统统计函数

[MSSQL]GROUPING SETS,ROLLUP,CUBE初体验

[MSSQL]ROW_NUMBER函数

[MSQL]RANK函数

[MSSQL]NTILE另类分页有么有?!

[MSQL]也说SQL中显示星期几函数

[MSSQL]COALESCE与ISNULL函数

[MSSQL]PIVOT函数

[MSSQL]FOR XML AUTO I

[MSSQL]FOR XML AUTO II

[MSSQL]TRY…CATCH…通用格式

如果您喜欢该博客请点击右下角推荐按钮,您的推荐是作者创作的动力!

posted @ 2014-03-17 15:20  kkun  阅读(1171)  评论(0编辑  收藏  举报