SCOPE_IDENTITY和@@IDENTITY[转]

本文转自:http://www.cnblogs.com/daydayupanan/archive/2008/09/04/1283648.html

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;"   

原文地址:https://www.cnblogs.com/zhengwk/p/5283191.html