Avatar billede hulla Novice
11. juni 2004 - 13:20 Der er 6 kommentarer og
1 løsning

returnere id

Er det muligt at få returneret et autonummereret felt fra en række i samme øjeblik man opretter rækken?

For på den måde at sikre sig 100% for at det nu også er feltet fra den korrekte række?
Avatar billede arne_v Ekspert
11. juni 2004 - 13:27 #1
@@IDENTITY og SCOPE_IDENTITY() indeholder den sidste auto genererede id for
connection.

Brug en af dem.
Avatar billede hulla Novice
11. juni 2004 - 13:42 #2
øhhh  nu er vi ovre i en stored procedure eller ?
Avatar billede arne_v Ekspert
11. juni 2004 - 13:47 #3
Ikke nødvendigvis.

INSERT INTO t1(data) VALUES('abc');
INSERT INTO t2(ref) VALUES(@@IDENTITY);

kan fyres af som 2 SQL sætninger.

Det samme kan:

INSERT INTO t1(data) VALUES('abc');
SELECT @@IDENTITY

men featuren kan også bruges i en stored procedure.
Avatar billede hulla Novice
11. juni 2004 - 14:13 #4
på den måde skal jeg lave 2 kald til min DB, er det korrekt opfattet?
og hvis ja, så kan jeg vel ikke 120% sikker på jeg får det rigtige id ...
Avatar billede arne_v Ekspert
11. juni 2004 - 15:03 #5
Ja - o kald medmindre du bruger stored procedure.

Nej - den er 120% sikker fordi informationen er per connection, så hvis du
laver de 2 kald på samme connection og ikke lader andre bruge connection i
mellem tiden (hvilket vil være tilfældet ved helt normalt brug), så er
den sikker
Avatar billede janus_007 Nybegynder
11. juni 2004 - 22:03 #6
Må jeg spørge om i hvilket sprog du vil lave den forespørgsel i sql?
Avatar billede smurfen Nybegynder
21. juni 2004 - 11:33 #7
det er så T-SQL
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