1、IDENT_CURRENT 返回为某个会话和当前作用域中的指定表生成的最新标识值。
  如果 IDENT_CURRENT 值为 NULL(因为表从未包含行或已被截断),IDENT_CURRENT 函数将返回种子值。
2、@@IDENTITY 返回为跨所有作用域的当前会话中的某个表生成的最新标识值。
3、SCOPE_IDENTITY 返回为当前会话和当前作用域中的某个表生成的最新标识值。从字义上来看   @@IDENTITY  会有 并发冲突,  但是我google了一下 有的地方说有并发冲突,有的地方说没有并发冲突, 那到底有没有并发冲突呢?同样也 问问IDENT_CURRENT  有没有并发冲突.

解决方案 »

  1.   

    如果没有触发器,SCOPE_IDENTITY是最好的
      

  2.   

    当前会话和当前作用域  是指的 这次运行的 sql 语句 吧
      

  3.   

    我现在就是有触发器,  @@IDENTITY 返回的是触发器引发的insert 语句的 identity
    我用SCOPE_IDENTITY才能返会当前语句产生的identity
      

  4.   

    可以看看我这篇:http://blog.csdn.net/dba_huangzj/article/details/7685162
    对于并发比较高的情况下,最好不要使用@@identity
      

  5.   

    SCOPE_IDENTITY 和 @@IDENTITY 返回在当前会话中的任何表内所生成的最后一个标识值。但是,SCOPE_IDENTITY 只返回插入到当前作用域中的值;@@IDENTITY 不受限于特定的作用域。