Het hangt af van wat je probeert te doen...
@@IDENTITY
Retourneert de laatste IDENTITY-waarde die is geproduceerd op een verbinding, ongeacht de tabel die de waarde heeft geproduceerd en ongeacht het bereik van de instructie die de waarde heeft geproduceerd.@@IDENTITY retourneert de laatste identiteitswaarde die in uw huidige sessie in een tabel is ingevoerd. @@IDENTITY is beperkt tot de huidige sessie en is niet beperkt tot het huidige bereik. Als u bijvoorbeeld een trigger op een tabel hebt die ervoor zorgt dat een identiteit in een andere tabel wordt gemaakt, krijgt u de identiteit die het laatst is gemaakt, zelfs als het de trigger was die deze heeft gemaakt.
SCOPE_IDENTITY()
Retourneert de laatste IDENTITY-waarde die is geproduceerd op een verbinding en door een instructie in hetzelfde bereik, ongeacht de tabel die de waarde heeft geproduceerd.SCOPE_IDENTITY() is vergelijkbaar met @@IDENTITY, maar het beperkt de waarde ook tot uw huidige bereik. Met andere woorden, het retourneert de laatste identiteitswaarde die u expliciet hebt gemaakt, in plaats van een identiteit die is gemaakt door een trigger of een door de gebruiker gedefinieerde functie.
IDENT_CURRENT()
Retourneert de laatste IDENTITY-waarde die in een tabel is geproduceerd, ongeacht de verbinding en het bereik van de instructie die de waarde heeft geproduceerd. IDENT_CURRENT is beperkt tot een opgegeven tabel, maar niet per verbinding of bereik.