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

scope_identity vs ident_current

In tal caso devi scrivere il nome della tabella, cosa succede se decidi di cambiare il nome della tabella? Quindi non devi dimenticare di aggiornare il tuo codice per riflettere questo. Uso sempre SCOPE_IDENTITY a meno che non sia necessario l'ID dall'inserto che si verifica in un trigger, quindi userò @@IDENTITY

Inoltre la differenza più grande è che IDENT_CURRENT ti darà l'identità da un altro processo che ha fatto l'inserimento (in altre parole l'ultimo valore di identità generato da qualsiasi utente) quindi se fai un inserimento e poi qualcuno fa un inserimento prima di fare un SELECT IDENT_CURRENT tu otterrà il valore dell'identità di quell'altra persona

Vedi anche 6 modi diversi per ottenere l'attuale valore dell'identità che ha del codice che spiega cosa succede quando metti i trigger sul tavolo