Sql 是否可以将所有数据从一个表复制到另一个表,再加上一列?
我有两张不同的桌子。表A有4列,表B只有3列。我想将表B中的所有数据复制到表A中,但我还想用每行的值Sql 是否可以将所有数据从一个表复制到另一个表,再加上一列?,sql,oracle,Sql,Oracle,我有两张不同的桌子。表A有4列,表B只有3列。我想将表B中的所有数据复制到表A中,但我还想用每行的值1填充额外的列 如果没有额外的列,这将起作用: insert into TABLEA (COL1, COL2, COL3) select COL1, COL2, COL3 from TABLEB; 不幸的是,表A中的额外列不可为null,因此我不能在之后运行更新 谢谢你的帮助 指定列并使用常量作为值(注意,可以在select子句中混合常量和列引用)。在这种情况下,我们指定的每一行都将获得列COL
1
填充额外的列
如果没有额外的列,这将起作用:
insert into TABLEA (COL1, COL2, COL3) select COL1, COL2, COL3 from TABLEB;
不幸的是,表A中的额外列不可为null,因此我不能在之后运行更新
谢谢你的帮助 指定列并使用常量作为值(注意,可以在select子句中混合常量和列引用)。在这种情况下,我们指定的每一行都将获得列
COL4
的常量1
insert into TABLEA (COL1, COL2, COL3, COL4)
select COL1, COL2, COL3, 1
from TABLEB;
您可以从
表B
INSERT INTO tableA( col1, col2, col3, col4 )
SELECT col1, col2, col3, 1 col4
FROM tableA
你试过这个吗
insert into TABLEA (COL1, COL2, COL3, COL4) select COL1, COL2, COL3, 'Whatever' as COL4 from TABLEB;
在我的电脑上工作:-)
或
回答很好,但没有解释语法?“选择”部分的作用是什么。。。第一次看到这个的人会有一些问题。。。
insert into TABLEA (COL1, COL2, COL3, COL4) select COL1, COL2, COL3, 'Whatever' as COL4 from TABLEB;
INSERT INTO tableA SELECT a.*,<VALUE FOR THE EXTRA COLUMN> FROM tableB a
INSERT INTO tableA SELECT a.*,sysdate FROM tableB a
INSERT INTO tableA SELECT a.*,'10-Jan-2013' FROM tableB a