PLS-00049 bad bind variable when compiling a trigger

oracleplsqltrigger

I'm trying to implement a dedupe trigger to a table.

CREATE OR REPLACE TRIGGER USER.TBL_ACTION_DEDUP
BEFORE INSERT
ON USER.ERRORTABLE 
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
BEGIN  
   IF (:OLD.Identifier = :NEW.Identifier) THEN  
      SELECT :OLD.tally + 1 INTO :NEW.tally FROM DUAL;
   END IF;  
END TBL_ACTION_DEDUP;
/

Error is:
On line: 2
PLS-00049: bad bind variable 'OLD.IDENTIFIER'

Best Answer

you should remove fragment: "USER.". Properly is:

CREATE OR REPLACE TRIGGER TBL_ACTION_DEDUP
BEFORE INSERT
ON ERRORTABLE 
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
BEGIN  
IF (:OLD.Identifier = :NEW.Identifier) THEN  
  SELECT :OLD.tally + 1 INTO :NEW.tally FROM DUAL;
END IF;  
END TBL_ACTION_DEDUP;
/