lnjblue
lnjblue

Reputation: 150

Insert all when invalid identifier

I am trying to implement an Insert All When query. I keep getting invalid identifier error and I'm not sure if its my table structure of my discount table causing the error or if I should be including something else in my query.

CUSTOMER TABLE

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

DISCOUNT TABLE

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

My Query:

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 is throwing the error by being an 'invalid identifier'

I want to understand what is causing this problem

Upvotes: 0

Views: 124

Answers (1)

Gordon Linoff
Gordon Linoff

Reputation: 1270713

You need to select C_BD in the 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;

Upvotes: 1

Related Questions