将多个列从表复制到另一个具有额外列的表

时间:2017-02-01 08:32:58

标签: sql oracle

我想将记录从一个表复制到另一个表中,并添加额外的列 表格列如下所示

Table1: A,B,C,...,X
Table2: A,B,C,...,X,Y,Z

我知道我可以用以下方式做到这一点

Insert into table2
  Select
  A,
  B,
  C, 
  ...
  X,
  '1',
  '1'
  from table1

但如果表包含大量列,则这是一种非常低效的方法。我需要对几个表执行类似的过程。有更好的方法吗?
我尝试了以下但是它没有工作

insert into table2 select * , '1', '1'  from table1;

2 个答案:

答案 0 :(得分:1)

你尝试过的东西应该可以工作,只需添加别名。

INSERT INTO table2
SELECT t1.*,
       '1',
       '1'
  FROM table1 t1;

答案 1 :(得分:0)

从table1插入table2(A,B,C,...,X,Y,Z)SELECT(A,B,C,...,X,'1','1');

在这种情况下,Y& Z是字符串(字符)。