无效标识符

时间:2016-03-03 03:17:33

标签: sql oracle insert

我正在尝试实现Insert All When查询。我一直收到无效的标识符错误,我不确定我的折扣表的表格结构是否导致错误,或者我是否应该在查询中包含其他内容。

CUSTOMER TABLE

Name       Type         
C_ID    NUMBER       
C_FN    VARCHAR2(10) 
C_LN    VARCHAR2(10) 
C_PH    VARCHAR2(12)    
C_BD    DATE

折扣表

Name Type         
C_ID  NUMBER       
C_LN  VARCHAR2(10) 
C_FN  VARCHAR2(10) 

我的查询:

INSERT ALL
   WHEN C_BD <= TO_DATE('01-JAN-1950','DD-MON-YYYY') THEN
     INTO DISCOUNT(C_ID,C_LN,C_FN)
     VALUES(C_ID,C_LN,C_FN)
SELECT C_ID,C_LN,FROM CUSTOMER;

C_BD通过成为无效标识符&#39;

来抛出错误

我想了解导致此问题的原因

1 个答案:

答案 0 :(得分:1)

您需要在C_BD

中选择SELECT
INSERT ALL
   WHEN C_BD <= TO_DATE('01-JAN-1950', 'DD-MON-YYYY') THEN
       INTO DISCOUNT(C_ID,C_LN,C_FN)
       VALUES (C_ID, C_LN, C_FN)
   SELECT C_ID, C_LN, C_FN, C_BD
   FROM CUSTOMER;