Ein INSERT VALUES
-Anweisung fügt immer genau 1 Zeile ein. Wenn Sie mehrere Zeilen mit fest codierten Werten einfügen möchten, besteht der üblichste Ansatz darin, einfach zwei separate INSERT
auszuführen Aussagen.
insert into t1 values(131309,'HP','20-FEB-04',2000000,1235);
insert into t1 values(131310,'HT','20-APR-14',120020,1234);
Wenn Sie wirklich wollten, könnten Sie Ihre fest codierten Werte aus dual
auswählen und führen Sie dann ein INSERT SELECT
durch
insert into t1
select 131309, 'HP', '20-FEB-04',2000000,1235 from dual
union all
select 131310,'HT','20-APR-14',120020,1234 from dual
Oder Sie könnten ein INSERT ALL
ausführen
insert all
into t1 values(131309,'HP','20-FEB-04',2000000,1235)
into t1 values(131310,'HT','20-APR-14',120020,1234)
select * from dual
Persönlich würde ich nur zwei Aussagen verwenden.
Obwohl dies nichts mit Ihrer Frage zu tun hat, ein paar Anmerkungen
- Listen Sie immer die Spalten in Ihrem
insert
auf Aussage. Sie machen Ihr SQL viel robuster, wenn Sie in Zukunft neue Spalten hinzufügen, dieNULL
zulassen Werte Ihre Aussagen werden immer noch funktionieren. Und Sie vermeiden viele Fehler, wenn die Spaltenliste genau da ist, anstatt zu hoffen, dass sich jemand an die Reihenfolge der Spalten in der Tabelle erinnert. - Wenn Sie einen Wert in ein
date
einfügen -Spalte, verwenden Sie ein Datum und kein Zeichenfolgenliteral, das ein Datum darstellt. Das Verlassen auf implizite Datentypkonvertierung ist eine Quelle vieler Fehler. Verwenden Sie ein explizitesto_date
oder verwenden Sie ANSI-Datumsliterale. Und verwenden Sie 4-stellige Jahreszahlen.