Entwickler-Ecke
Datenbanken - mehrere INSERT s zusammenfassen
bbfan - Fr 21.04.06 10:35
Titel: mehrere INSERT s zusammenfassen
Hallo Leute!
Wie kann ich mehrere INSERT zu einem zusammenfügen?
SQL-Anweisung
1: 2: 3:
| INSERT INTO (TAB1,TAB2) VALUES (1,2); INSERT INTO (TAB1,TAB2) VALUES (1,2); INSERT INTO (TAB1,TAB2) VALUES (1,2); |
sollte nachher wie folgt aussehen:
SQL-Anweisung
1:
| INSERT INTO (TAB1,TAB2) VALUES (1,2),(1,2),(1,2); |
Jedefalls geht das so mit mySQL. Aber wie sieht das bei ADO / msSQL aus?
Viele Grüße!
alzaimar - Fr 21.04.06 11:40
So geht das nicht. Auch mit mySQL nicht, denke ich, denn Du hast die Tabelle vergessen, aber egal. :wink:
Bei echten DBMS nimmt man dafür eine Transaktion (die ja mySQL < 5.x nicht kennt):
SQL-Anweisung
1: 2: 3: 4: 5:
| Begin Transaction INSERT INTO Tabelle (TAB1,TAB2) VALUES (1,2); INSERT INTO Tabelle (TAB1,TAB2) VALUES (1,2); INSERT INTO Tabelle (TAB1,TAB2) VALUES (1,2); commit transaction |
oder auch so:
SQL-Anweisung
1: 2: 3: 4: 5: 6:
| Insert into Tabelle select 1,2 union select 1,2 union select 1,2 |
BenBE - Fr 21.04.06 13:09
alzaimar hat folgendes geschrieben: |
So geht das nicht. Auch mit mySQL nicht, denke ich, denn Du hast die Tabelle vergessen, aber egal. :wink: |
Trotzdem kann, selbst MySQL 3 bereits die oben (nur syntaktisch unvollständige Version ausführen):
SQL-Anweisung
1:
| INSERT INTO Tabelle (TAB1,TAB2) VALUES (1,2),(1,2),(1,2); |
Inwiefern das die Teile von M$ kapieren steht dabei auf einem ganz anderen Blatt, da überlass ich mal
alzaimar das Feld ;-)
alzaimar - Fr 21.04.06 14:28
Na ja, B€nB€, mySQL kann nun mal eben keine unvollständige SQL-Befehle ausführen, also auch kein "INSERT INTO (bla, Foo) ... " Darauf wollte ich doch hinaus, aber das hast Du ja bestimmt bemerkt. Hinterher vermutlich erst, aber immerhin.
Amiga-Fan - Fr 21.04.06 14:42
bei oracle geht folgendes:
insert into tabelle1 select spalte1, spalte2 from tabelle2. Dann macht er ein select auf tabelle2 und fügt die gefundenen zeilen mit den gewünschten spalten in tabelle 1 ein.
alzaimar - Fr 21.04.06 14:49
alzaimar hat folgendes geschrieben: |
oder auch so:
SQL-Anweisung 1: 2: 3: 4: 5: 6:
| Insert into Tabelle select 1,2 union select 1,2 union select 1,2 | |
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!