Jump to content

Oracle DB mehrere Zeilen mit einem Insert einfügen


Aikonia

Empfohlene Beiträge

Hallo zusammen,

 

geht um eine Oracle Datenbank, habe dort eine Tabelle mit zwei Spalten.

 

nlfdnr stext

 

jetzt hab ich hier eine Liste mit Einträgen, wollte nach folgendem Schema das Insert aufbauen:

 

insert into tabelle1

values

(1, 'Text1'),

(2, 'Text2'),

....;

 

das wär ja mit Excel schnell zusammengefügt, aber scheinbar geht das unter Oracle nicht? Gibt es da alternativen?

mit Google komm ich nicht so wirklich weiter. Einzige alternative, die mir momentan einfällt wären lauter einzelne

inserts, aber das müsste doch auch einfacher gehen, oder?

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • Admin

Hallo zusammen,

 

geht um eine Oracle Datenbank, habe dort eine Tabelle mit zwei Spalten.

 

nlfdnr stext

 

jetzt hab ich hier eine Liste mit Einträgen, wollte nach folgendem Schema das Insert aufbauen:

 

insert into tabelle1

values

(1, 'Text1'),

(2, 'Text2'),

....;

 

das wär ja mit Excel schnell zusammengefügt, aber scheinbar geht das unter Oracle nicht? Gibt es da alternativen?

mit Google komm ich nicht so wirklich weiter. Einzige alternative, die mir momentan einfällt wären lauter einzelne

inserts, aber das müsste doch auch einfacher gehen, oder?

 

In PL/SQL geht das:

 

INSERT ALL

INTO tabelle1 (nlfdnr, stext) VALUES (1, 'Text1')

INTO tabelle1 (nlfdnr, stext) VALUES (2, 'Text2')

SELECT * FROM dual;

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke, werd ich am Montag probieren :goodjob:, seh schon gibt da doch einige Unterschiede,

hab mich daheim mit einem SQL Buch beschäftigt, bei dem die Beispiele mit MySQL waren.

 

Könntest du mir noch kurz die Bedeutung von

SELECT * FROM dual;
erklären?

 

Entweder ich verwende die falschen Suchbegriffe, oder ich bin zu doof dafür, aber ganz

schlau werd ich da noch nicht draus.

 

Danke

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also die Syntax vom Insert selbst ist schon klar, nur das

 

SELECT * FROM dual;

 

noch nicht so ganz, also ob das jetzt zwingend erforderlich ist, oder ob das

evtl. noch angepasst werden muss, aber das werde ich am Montag in ner Test DB

ausprobieren.

 

Grüße

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo zusammen,

 

INSERT ALL

INTO tabelle1 (nlfdnr, stext) VALUES (1, 'Text1')

INTO tabelle1 (nlfdnr, stext) VALUES (2, 'Text2')

SELECT * FROM dual;

 

macht genau das was es soll, das INSERT ALL statement muss mit einem Select abgeschlossen werden, kann ein beliebiger sein.

 

Oracle PL/SQL supports the "INSERT ALL" statement, where multiple insert statements are terminated by a SELECT

 

Danke für den Tipp, hat ne Menge Arbeit erspart :goodjob:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

  • Wer ist Online   0 Benutzer

    • Keine registrierten Benutzer online.
×
×
  • Neu erstellen...