擷取最後的識別:@@IDENTITY、SCOPE_IDENTITY() 和OUTPUT
將新記錄插入表中通常涉及檢索最後產生的記錄列的標識值。為此目的,有許多方法,包括 @@IDENTITY、SCOPE_IDENTITY() 和 OUTPUT。
@@IDENTITY
@@IDENTITY 擷取產生的最後一個身分值目前連接,無論表或範圍如何。它會傳回由最近插入產生的識別值,即使是由另一個操作觸發的。但是,此方法不是範圍安全的。
SCOPE_IDENTITY()
SCOPE_IDENTITY() 另一方面,是範圍安全的。它傳回語句目前範圍內產生的最後一個標識值。這表示如果觸發器插入記錄並產生識別值,SCOPE_IDENTITY() 將不會傳回該值,除非該值是由呼叫 SCOPE_IDENTITY() 的相同語句產生的。
OUTPUT 方法
OUTPUT 方法是另一個擷取識別值的選項。它傳回插入行的表,包括插入期間產生的識別值。此方法也是範圍安全的,因為它僅檢索目前語句插入的行的識別值。
決定最佳方法
方法的選擇用於檢索最後一個身份值取決於具體場景:
以上是如何在 @@IDENTITY、SCOPE_IDENTITY() 和 OUTPUT 之間進行選擇以擷取最後的身分值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!