Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何将一个表复制到另一个表_Sql_Oracle - Fatal编程技术网

Sql 如何将一个表复制到另一个表

Sql 如何将一个表复制到另一个表,sql,oracle,Sql,Oracle,我想将表1的内容复制到表2中,但这不是一个直接的副本,因为表2包含的列比表1多。结构与此类似: 表1 { 专栏2 专栏4 第6栏 } 表2 { 专栏1 专栏2 第3栏 专栏4 专栏5 第6栏 } 我要做的是将表1中的每一行添加到表2中,并为缺少的列设置默认值。任何帮助都将不胜感激。您只需做一个 INSERT INTO xxx SELECT yyy 在select子句中,输入默认值 INSERT INTO Table2(column1, column2, column3, column4, co

我想将表1的内容复制到表2中,但这不是一个直接的副本,因为表2包含的列比表1多。结构与此类似:

表1 { 专栏2 专栏4 第6栏 }

表2 { 专栏1 专栏2 第3栏 专栏4 专栏5 第6栏 }

我要做的是将表1中的每一行添加到表2中,并为缺少的列设置默认值。任何帮助都将不胜感激。

您只需做一个

INSERT INTO xxx
SELECT yyy
在select子句中,输入默认值

INSERT INTO Table2(column1, column2, column3, column4, column5, column6)
SELECT 'horse', column2, 2, column4, 'what ever I want', column6 
FROM Table1
所以在表2中,所有的第1列都有“horse”值。 所有第3列将有2个。 等等。

你可以做一个

INSERT INTO xxx
SELECT yyy
在select子句中,输入默认值

INSERT INTO Table2(column1, column2, column3, column4, column5, column6)
SELECT 'horse', column2, 2, column4, 'what ever I want', column6 
FROM Table1
所以在表2中,所有的第1列都有“horse”值。 所有第3列将有2个。
等等。

在SELECT语句中使用
插入

INSERT INTO table2 (column2, column4, column6)
SELECT column2, column4, column6
FROM table1

因此,在本例中,
column1
column2
column3
列将具有空值。或者你设定的默认值

在SELECT语句中使用
INSERT

INSERT INTO table2 (column2, column4, column6)
SELECT column2, column4, column6
FROM table1

因此,在本例中,
column1
column2
column3
列将具有空值。或者你设定的默认值

SQL不是很好,但类似这样:

INSERT INTO [Table1] (column2, column4, column6) SELECT (column1, column2, column3) FROM [Table2]
希望这有帮助。可能有用的链接


投票给我我需要点:p

不擅长SQL,但类似于:

INSERT INTO [Table1] (column2, column4, column6) SELECT (column1, column2, column3) FROM [Table2]
希望这有帮助。可能有用的链接

投票给我我需要分数:p

请尝试

INSERT INTO 
    Table2  (
    column1,
    column2,
    column3,
    column4,
    column5,
    column6,
        )
SELECT 
    'StaticValue1',
    column2,
    'StaticValue2'
    column4,
    'StaticValue3'
    column6,
FROM 
    Table1
请试一试

INSERT INTO 
    Table2  (
    column1,
    column2,
    column3,
    column4,
    column5,
    column6,
        )
SELECT 
    'StaticValue1',
    column2,
    'StaticValue2'
    column4,
    'StaticValue3'
    column6,
FROM 
    Table1

要将完整表复制到新表中,请执行以下操作:

SELECT * INTO table2 FROM table1;

要将表复制到现有表中,请执行以下操作:

INSERT INTO table2
SELECT * FROM table1;

要将完整表格复制到新表格中,请执行以下操作:

SELECT * INTO table2 FROM table1;

要将表复制到现有表中,请执行以下操作:

INSERT INTO table2
SELECT * FROM table1;

没有为表2设置默认值。是否可以将新列的默认值作为单个insert语句的一部分插入?表2没有设置默认值。是否可以将新列的默认值作为单个insert语句的一部分插入?我不知道您可以在相同的select语句中包含这样的值。太好了,谢谢。我不知道你可以在同一个select语句中包含这样的值。太好了,谢谢。OP说表上的列不是一对一的。我一时记不起来了,但这里的每个其他答案都指定了列名(大概是因为这个原因)。OP说表上的列不是一对一的。我一时记不起来了,但这里的每个其他答案都指定了列名(大概是因为这个原因)。