@@identityfunkce 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...intodotaz.
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.