是否可以将所有数据从一个表复制到另一个表,还有一个额外的列?

Nic*_*unt 4 sql oracle

我有两张表略有不同.表A有4列,表B只有3.我想将表B中的所有数据复制到表A中,但我也希望用1每行的值填充额外的列.

如果不是额外的列,这将工作:

insert into TABLEA (COL1, COL2, COL3) select COL1, COL2, COL3 from TABLEB;
Run Code Online (Sandbox Code Playgroud)

不幸的是,表A中的额外列不可为空,因此我不能仅在之后运行更新.

谢谢你的帮助!

lc.*_*lc. 11

指定列并对值使用常量(注意,您可以在select子句中混合常量和列引用).在这种情况下,我们指定每一行都将获得1列的常量COL4.

insert into TABLEA (COL1, COL2, COL3, COL4)
select COL1, COL2, COL3, 1
from TABLEB;
Run Code Online (Sandbox Code Playgroud)