SCOPE_IDENTITY 和 @@IDENTITY

SCOPE_IDENTITY   和   @@IDENTITY   的做用都是取得返回在当前会话中的任何表内所生成的最后一个标识值,简单的说就是在执行一条插入语句以后使用@@IDENTITY的全局变量,取得插入记录的ID号可是有个问题就是,@@IDENTITY是全局的,因此在他的功能会体如今全部做用域,一个操做,一个触发器,一个存储过程叫作一个做用域,这时候若是出现多个做用域的状况的时候,@@IDENTITY所取得的ID号就是最后一个做用域产生的结果。这时候咱们要使用SCOPE_IDENTITY方法来做了。SCOPE_IDENTITY   只返回插入到当前做用域中的值;@@IDENTITY   不受限于特定的做用域。   
  使用方法:select   SCOPE_IDENTITY()   as   ID   from   [table]select   @@IDENTITY   as   ID   from   [table]   
  实例:   
        sql="SET   NOCOUNT   ON;insert   into   [Table](Item)   values('"&Item&"')"sql=sql&";select   @@IDENTITY   as   ID   from   [Table];SET   NOCOUNT   OFF;"   

在插入某些自增表的时候,须要将其打开:
 语法:SET   IDENTITY_INSERT   TableName   ON sql

相关文章
相关标签/搜索