IDENT_CURRENT、SCOPE_IDENTITY、@@IDENTITY 差異對照表
- IDENT_CURRENT 會傳回在任何工作階段和任何範圍中,產生給特定資料表 (叫用函數時指定) 的最後一個識別值。
- SCOPE_IDENTITY 會傳回在目前工作階段以及目前範圍中,任何資料表產生的最後一個識別值。
- @@IDENTITY 會傳回所有範圍的目前工作階段中,任何資料表所產生的最後一個識別值。
函數 | 工作階段 (Session) | 範圍 (Scope) | 資料表 (table) | 傳回 NULL 的情況 |
---|---|---|---|---|
IDENT_CURRENT | any | any | specific |
|
SCOPE_IDENTITY | current | current | any |
|
@@IDENTITY | current | all | any |
|
上面的速查表,條列出這三個系統函數的不同之處,至於更詳細的說明及範例,線上叢書裡寫得很完整,就請大家自行查閱。
參考資料: