SQL 返回新增行的自增ID值方法


SQL 返回新增行的自增ID值方法:

1、使用output 語句

insert into Table1 (CreatedDate)  output  inserted.id  values (getdate())

output 從數據修改語句中返回輸出,可以看作是“返回結果的DML”
SQL2005之后 Insert,Delete,Update語句 均支持Output語句。
在Output語句中可以引用inserted和deleted。使用方法同觸發器類似。
該方法最大弊端就是需要指定主鍵。output Inserted.要返回的值。

 

2、使用@@identity

select @@identity

@@identity返回當前會話最后生產的標識列ID

用select @@identity得到上一次插入記錄時自動產生的ID
存儲過程,代碼示例:SET @NewID=@@IDENTITY

 

區分,SCOPE_IDENTITY()  和   @@IDENTITY 

SCOPE_IDENTITY() 返回插入到當前作用域中的值,它是僅限在一個操作范圍之內,

@@IDENTITY 不受限於特定的作用域。它總是獲取最后一條變更數據的自增字段的值,

insert temp (temp1) values ('hh') select SCOPE_IDENTITY() as dd

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM