将不匹配的列插入表中

时间:2014-06-06 13:42:30

标签: sql oracle

我正在尝试从SALES_TABLE1中选择所有数据到SALES_TABLE2

TABLE2与TABLE1相同,只是它有一个额外的列,SETTLEMENTDATE,我想保持为null。

INSERT INTO SALES_TABLE2
        (SALEDATE,
         POSID,
         STAFFID,
         VALUE,
         SETTLEMENTDATE)
SELECT   SALEDATE,
         POSID,
         STAFFID,
         VALUE,
         NULL
FROM SALES_TABLE1;

尝试了几种不同的方式,只是得到了

  

“错误(50,26):PL / SQL:ORA-01789:查询块的结果列数不正确”

对于一个可怜的,虚弱的大脑有什么帮助吗?

1 个答案:

答案 0 :(得分:1)

我认为这应该已经有效了,但这是另一种可以做到这一点的方法。只需省略列列表中的列。

INSERT INTO SALES_TABLE2
        (SALEDATE,
         POSID,
         STAFFID,
         VALUE)
SELECT   SALEDATE,
         POSID,
         STAFFID,
         VALUE
FROM SALES_TABLE1;