@@identity
funkce vrací poslední identitu vytvořenou ve stejné relaci.scope_identity()
funkce vrací poslední identitu vytvořenou ve stejné relaci a stejném rozsahu.ident_current(name)
vrátí poslední identitu vytvořenou pro konkrétní tabulku nebo pohled v jakékoli relaci.identity()
funkce se nepoužívá k získání identity, používá se k vytvoření identity vselect...into
dotaz.
Relace je připojení k databázi. Rozsah je aktuální dotaz nebo aktuální uložená procedura.
Situace, kdy scope_identity()
a @@identity
funkce se liší, pokud máte na stole spoušť. Pokud máte dotaz, který vkládá záznam a způsobí, že spouštěč někam vloží jiný záznam, scope_identity()
funkce vrátí identitu vytvořenou dotazem, zatímco @@identity
funkce vrátí identitu vytvořenou spouštěčem.
Normálně byste tedy použili scope_identity()
funkce.