- Il
@@identity
la funzione restituisce l'ultima identità creata nella stessa sessione. - Il
scope_identity()
la funzione restituisce l'ultima identità creata nella stessa sessione e lo stesso ambito. - Il
ident_current(name)
restituisce l'ultima identità creata per una tabella o vista specifica in qualsiasi sessione. - L'
identity()
la funzione non viene utilizzata per ottenere un'identità, viene utilizzata per creare un'identità in unselect...into
interrogazione.
La sessione è la connessione al database. L'ambito è la query corrente o la stored procedure corrente.
Una situazione in cui scope_identity()
e il @@identity
le funzioni differiscono, se hai un trigger sul tavolo. Se hai una query che inserisce un record, facendo sì che il trigger inserisca un altro record da qualche parte, scope_identity()
funzione restituirà l'identità creata dalla query, mentre il @@identity
funzione restituirà l'identità creata dal trigger.
Quindi, normalmente useresti scope_identity()
funzione.