@@identity
funktion returnerer den sidst oprettede identitet i samme session.scope_identity()
funktion returnerer den sidst oprettede identitet i den samme session og det samme omfang.-
ident_current(name)
returnerer den sidst oprettede identitet for en specifik tabel eller visning i enhver session. identity()
Funktionen bruges ikke til at få en identitet, den bruges til at oprette en identitet i enselect...into
forespørgsel.
Sessionen er databaseforbindelsen. Omfanget er den aktuelle forespørgsel eller den aktuelle lagrede procedure.
En situation, hvor scope_identity()
og @@identity
funktioner er forskellige, hvis du har en trigger på bordet. Hvis du har en forespørgsel, der indsætter en post, hvilket får triggeren til at indsætte en anden post et eller andet sted, scope_identity()
funktion vil returnere den identitet, der er oprettet af forespørgslen, mens @@identity
funktion vil returnere den identitet, der er oprettet af triggeren.
Så normalt ville du bruge scope_identity()
funktion.