Oracle fügt aus select in Tabelle mit mehr Spalten ein

68

Ich möchte aus einer select-Anweisung in eine Tabelle einfügen, es werden jedoch 3 Spalten von der select-Anweisung zurückgegeben, und die Tabelle enthält 4 Spalten. Ich möchte 0 für alle Zeilen in der zusätzlichen Spalte hinzufügen. Kann mir jemand eine SQL-Beispielabfrage dafür geben?

Vielen Dank!

Alan Han
quelle

Antworten:

130

Fügen Sie einfach die '0' in Ihre Auswahl ein.

INSERT INTO table_name (a,b,c,d)
    SELECT
       other_table.a AS a,
       other_table.b AS b,
       other_table.c AS c,
       '0' AS d
    FROM other_table
Matt Dodge
quelle
14
+1 für ein vollständiges Beispiel, enthält aber mehr Dinge als ich normalerweise verwenden würde. Ich hätte nicht ()um die selectAnweisung herum und würde die Spaltennamen nicht aliasen. Ich würde die Null ohne Anführungszeichen lassen, wenn die Zielspalte einen numerischen Typ hätte, und nur dann zitieren, wenn die Zielspalte einen Zeichendatentyp hätte.
Shannon Severance
5

Setzen Sie 0 in SQL als Standard oder fügen Sie 0 in Ihren Tabellenbereich ein

Andrew
quelle
1

Wählen Sie einfach '0' als Wert für die gewünschte Spalte

Otávio Décio
quelle