Pregunta

¿Cómo pasar valores predeterminados en la construcción Insertar Seleccionar en SQL?

Tengo una tabla:

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

Quiero insertar table2 en table1 con una construcción similar a esta:

    insert into table1 select field1, field2, DEFAULT from table2

¿Es posible usar algo en lugar de DEFAULT en mi ejemplo para realizar la tarea? ¿Cómo se insertan las tablas previamente seleccionadas con valores predeterminados?

¿Fue útil?

Solución

Probar

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

Probé esto usando 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
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top