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

时间:2013-01-17 08:53:23

标签: sql oracle

我想将table1的内容复制到table2中,但它不是一个直接的副本,因为table2包含的列多于表1.结构类似于:

表1 {     COLUMN2     column4     column6 }

表2 {     COLUMN1     COLUMN2     栏3     column4     column5     column6 }

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

6 个答案:

答案 0 :(得分:3)

你可以做一个

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中,所有column1都将具有'horse'值。 所有column3都有2个。 等

答案 1 :(得分:0)

使用INSERT..INTO SELECT声明

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

因此,在这种情况下,列{} column1column2column3将具有空值。或者你设置的任何默认值。

答案 2 :(得分:0)

在SQL上不是很好但是这样:

INSERT INTO [Table1] (column2, column4, column6) SELECT (column1, column2, column3) FROM [Table2]

希望这会有所帮助。可能有用的链接http://www.blackwasp.co.uk/SQLSelectInsert.aspx

投票给我我需要积分:P

答案 3 :(得分:0)

请尝试

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

答案 4 :(得分:0)

将完整表格复制到新表格中:

SELECT * INTO table2 FROM table1;

http://www.w3schools.com/sql/sql_select_into.asp

将表复制到现有表中:

INSERT INTO table2
SELECT * FROM table1;

http://www.w3schools.com/sql/sql_insert_into_select.asp

答案 5 :(得分:0)

insert into TABLE2
select null colum1, column2,null colum3,column4,null colum5,column6
from((
Select  TABLE1.column2, TABLE1.column4, TABLE1.column6
from TABLE1, TABLE2
where TABLE1.primarykey=TABLE2.primarykey))