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

相關文章
相關標籤/搜索