Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Motivo per l'utilizzo di @@identity anziché scope_identity

@@IDENTITY restituirà l'ultimo valore di identità emesso dalla sessione corrente. SCOPE_IDENTITY() restituisce l'ultimo valore di identità nella sessione corrente e lo stesso ambito. Di solito sono gli stessi, ma supponiamo che venga chiamato un trigger che ha inserito qualcosa da qualche parte appena prima dell'istruzione corrente. @@IDENTITY restituirà il valore di identità tramite INSERT istruzione del trigger, non l'istruzione di inserimento del blocco. Di solito è un errore a meno che non sappia cosa sta facendo.