Sagen wir, ich habe eine Tabelle mit den folgenden Spalten:Legen Sie mehrere Zeilen in eine Tabelle mit nur einem Wert ändert
Feld 1 | Feld 2 | Feld3 | field4
Ich möchte mehrere Zeilen in diese Tabelle einfügen, aber die Werte von field1, field2 und field3 sind für jede Zeile identisch. Nur der Wert von field4 wird sich ändern.
Natürlich könnte ich jede Zeile separat einfügen, aber die resultierende Abfrage wäre ein bisschen hässlich, und ich frage mich, ob es eine effizientere/elegantere Möglichkeit ist, es zu tun.
Ich dachte an so etwas wie dies zum Beispiel:
insert into my_table (field1, field2, field3, field4) values (foo, bar, baz, ('value one','value two','value three','value four'))
Und das Ergebnis wäre:
field1 | field2 | field3 | field4
foo | bar | baz | value one
foo | bar | baz | value two
foo | bar | baz | value four
foo | bar | baz | value five
In der Praxis der Spalte 'field4' ist ein String-Typ, und die verschiedenen Werte sind bekannt, wenn ich die Abfrage schreibe. Es gibt keine Notwendigkeit, sie von einem Tisch oder irgendetwas zu bekommen (obwohl, wenn es möglich ist, bin ich an einer Lösung interessiert, die es tun kann) Ist das möglich oder muss ich jeden Einsatz separat schreiben?
EDIT: Ich habe die Frage geändert, um klarer über den Datentyp der wechselnden Spalte (allgemeine Textdaten) und woher kommen die Daten. Entschuldigung für diejenigen, die bereits ohne diese Informationen geantwortet haben.
Danke.
"Ist das möglich oder muss ich jeden Einsatz separat schreiben?" > Letzteres :-) –
Woher kommt der Wert für field4? ist es die laufende Nummer oder etwas anderes? – Noel
Wenn Sie zu Ramblin's Man Frage hinzufügen, wenn Sie alle Werte für Feld4 kennen, können Sie sie als 'Tabellenwertfunktion' bereitstellen, ändern Sie Ihre' Einfügung', um '' 'anstelle von' Werten' zu verwenden. und verbinden Sie diese Werte von der Funktion ... – DrCopyPaste