Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.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,我有两张不同的桌子。表A有4列,表B只有3列。我想将表B中的所有数据复制到表A中,但我还想用每行的值1填充额外的列 如果没有额外的列,这将起作用: insert into TABLEA (COL1, COL2, COL3) select COL1, COL2, COL3 from TABLEB; 不幸的是,表A中的额外列不可为null,因此我不能在之后运行更新 谢谢你的帮助 指定列并使用常量作为值(注意,可以在select子句中混合常量和列引用)。在这种情况下,我们指定的每一行都将获得列COL

我有两张不同的桌子。表A有4列,表B只有3列。我想将表B中的所有数据复制到表A中,但我还想用每行的值
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