Frage

Wie Standardwerte im Insert Select Konstruktion in SQL passieren?

Ich habe eine Tabelle:

    create table1 (field1 int, field2 int, field3 int default 1337)
    create table2 (field1 int, field2 int)

Ich mag table2 in table1 mit einem ähnlichen Aufbau wie diese einzufügen:

    insert into table1 select field1, field2, DEFAULT from table2

Ist es möglich, etwas zu verwenden, statt DEFAULT in meinem Beispiel die Aufgabe zu erledigen? Wie zuvor Tabellen ausgewählt in der Regel mit den Standardwerten eingefügt?

War es hilfreich?

Lösung

Versuchen

INSERT INTO table1 (field1, field2)
SELECT field1, field2 FROM table2

Getestet habe ich diese mit SQL Server 2005

DECLARE @Table1 TABLE(
        field1 INT,
        field2 INT,
        field3 INT DEFAULT 1337
)

INSERT INTO @Table1 (field1,field2,field3) SELECT 1, 2, 3

DECLARE @Table2 TABLE(
        field1 INT,
        field2 INT
)

INSERT INTO @Table2 (field1,field2) SELECT 15, 16

INSERT INTO @Table1 (field1,field2)
SELECT  field1,
        field2
FROM    @Table2

SELECT * FROM @Table1
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top