Avatar billede dsj Nybegynder
07. juni 2004 - 14:37 Der er 9 kommentarer og
1 løsning

Sidst identity-id

Hvordan rekvirerer man det sidste identity-id indsat med en INSERT?
Avatar billede arne_v Ekspert
07. juni 2004 - 14:39 #1
@@IDENTITY

eller

SCOPE_IDENTITY()
Avatar billede dsj Nybegynder
07. juni 2004 - 16:58 #2
SELECT SCOPE_IDENTITY() AS last_id; ?
Avatar billede arne_v Ekspert
07. juni 2004 - 17:09 #3
Ja
Avatar billede arne_v Ekspert
07. juni 2004 - 17:23 #4
Vær opmærksom på at SCOPE_IDENTITY() så vidt jeg ved kræver SQLServer 2000
Avatar billede dsj Nybegynder
08. juni 2004 - 10:20 #5
Ved du om den, ligesom det er tilfældet på MySQL, er isoleret på database-forbindelsen, altså så den returnerer det sidst indsatte id som følge af inserts fra den aktuelle forbindelse?
Avatar billede arne_v Ekspert
08. juni 2004 - 10:28 #6
Ja den er per connection (ellers er den jo ubrugelig).

@@IDENTITY er per connection

SCOPE_IDENTITY() er per connection i current scope
Avatar billede dsj Nybegynder
08. juni 2004 - 12:22 #7
per connection i current scope?
Avatar billede arne_v Ekspert
08. juni 2004 - 12:29 #8
I de fleste tilfælde er det det samme.

Forskellen er hvis:

du laver en INSERT i tabel t1
SQL server genererer en tabel t1 key f1 værdi 137
tabel t1 har en insert trigger
den trigger laver en ny INSERT i tabel t2
SQL server genererer en tabel t2 key f2 værdi 641
@@IDENTITY returnerer 641
SCOPE_IDENTITY() returnerer 137
Avatar billede arne_v Ekspert
08. juni 2004 - 21:19 #9
OK ?
Avatar billede dsj Nybegynder
08. juni 2004 - 22:09 #10
Du kan da bare starte med at lægge et svar, i stedet for at vente på at du bliver bedt om det ;-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester