Avatar billede DalleJava Nybegynder
22. november 2011 - 19:40 Der er 3 kommentarer og
1 løsning

INSERT data i flere tabeller

Hej.

Jeg har lavet en database der består af flere tabeller, der skal opdateres/indsættes data i samtidig.

For at spørge og svare, vil jeg ikke gå i detaljer, men mere spøre generelt.

Senario:
Jeg ønsker at indsætte noget data, der skal ind i to tabeller.
Begge tabeller har en primær (autoenkrementerende nøgle)

Præmær nøglen i TABEL_1 optræder så i TABEL_2 som fremmednøgle, for at kæde disse sammen.

Mit spørgsmål:
Hvordan indsætter jeg ( laver min SQL ) hvis jeg skal indsætte i to tabeller?

Primærnøglen i TABEL_1( som skal indsættes i TABEL_2 ) kender jeg jo ikke endnu?

Jeg ved ikke om der er en smart løsning?
Faktisk er jeg ude i noget med at jeg:

1. Indsætter data i TABEL_1
2. Henter ID fra TABEL_1 ( for den netop oprettet record )
3. Sætter hentede ID ind i min SQL
4. Indsætter data i TABEL_2 inklusiv netop hentede ID.

Hvad vil i foreslå, og hvordan gøres  det i praksis i hverdagen?

Mvh
Daniel
Avatar billede webweaver Praktikant
22. november 2011 - 19:56 #1
Umiddelbart som du selv foreslår til sidst.

Mig bekendt, kan du ikke lave det i ét samlet statement.

Kan være, at der er andre, som har nogen suplerende oplysninger omkring spørgsmålet.
Avatar billede arne_v Ekspert
22. november 2011 - 20:13 #2
Brug @@IDENTITY:

INSERT INTO tabel1(f2,f3) VALUES(123,'ABC');
INSERT INTO tabel2(fk,f4) VALUES(@@IDENTITY,'XYZ');
Avatar billede DalleJava Nybegynder
23. november 2011 - 20:15 #3
Hej Arne.

Jeg har googlet det lidt og efterfølgende testet det af på to tabeller.
Det var lige det der skulle til i mit tilfælde.

Det er så dejligt at vi alle kan gøre brug af den fælles viden på dette forum. Noget er sværer end andet ;) Og til tider er det ikke meget der skal til for at komme videre med probs!

Smid et svar.

Mvh
Daniel
Avatar billede arne_v Ekspert
23. november 2011 - 20:52 #4
svar
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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