返回最后插入的標(biāo)識值。
@@IDENTITY
numeric
在一條 INSERT、SELECT INTO 或大容量復(fù)制語句完成后,@@IDENTITY 中包含此語句產(chǎn)生的最后的標(biāo)識值。若此語句沒有影響任何有標(biāo)識列的表,則 @@IDENTITY 返回 NULL。若插入了多個(gè)行,則會產(chǎn)生多個(gè)標(biāo)識值,@@IDENTITY 返回最后產(chǎn)生的標(biāo)識值。如果此語句激發(fā)一個(gè)或多個(gè)執(zhí)行產(chǎn)生標(biāo)識值的插入操作的觸發(fā)器,則語句執(zhí)行后立即調(diào)用 @@IDENTITY 將返回由觸發(fā)器產(chǎn)生的最后的標(biāo)識值。若 INSERT 或 SELECT INTO 語句失敗或大容量復(fù)制失敗,或事務(wù)被回滾,則 @@IDENTITY 值不會還原為以前的設(shè)置。
在返回插入到表的 @@IDENTITY 列的最后一個(gè)值方面,@@IDENTITY、SCOPE_IDENTITY 和 IDENT_CURRENT 函數(shù)類似。
@@IDENTITY 和 SCOPE_IDENTITY 將返回在當(dāng)前會話的所有表中生成的最后一個(gè)標(biāo)識值。但是,SCOPE_IDENTITY 只在當(dāng)前作用域內(nèi)返回值,而 @@IDENTITY 不限于特定的作用域。
IDENT_CURRENT 不受作用域和會話的限制,而受限于指定的表。IDENT_CURRENT 返回任何會話和任何作用域中為特定表生成的標(biāo)識值。有關(guān)更多信息,請參見 IDENT_CURRENT。
下面的示例向帶有標(biāo)識列的表中插入一行,并用 @@IDENTITY 顯示在新行中使用的標(biāo)識值。
INSERT INTO jobs (job_desc,min_lvl,max_lvl)
VALUES ('Accountant',12,125)
SELECT @@IDENTITY AS 'Identity'
相關(guān)文章