I am a newcomer in ORACLE SQL, I am trying to create a trigger to generate auto_incement serial number as a primary key in my table but no idea what mistake I am making, due to which I am getting :
error while performing partial saving of event: error code=4098 ST= java.sql.BatchUpdateException: ORA-04098: trigger 'TNTCA.STAGING_TRIGGER_ERROR_REASON' is invalid and failed re-validation\n, caused by : \"ORA-04098: trigger 'TNTCA.STAGING_TRIGGER_ERROR_REASON' is invalid and failed re-validation\n\"
My SQL Statement is :
create global temporary table STAGING_ERROR_REASON ( STAGING_REASON_ID number(4) constraint STAGING_REASON_ID not null ,REASON nvarchar2(1024) not null ,constraint PK_STAGING_REASON_ID PRIMARY KEY(STAGING_REASON_ID) );
create sequence STAGING_SEQ_ERROR_REASON start with 1 increment by 1 minvalue 1 maxvalue 10000;
CREATE OR REPLACE TRIGGER "STAGING_TRIGGER_ERROR_REASON"
BEFORE INSERT ON STAGING_ERROR_REASON
REFERENCING NEW AS NEW
FOR EACH ROW
BEGIN
if(:NEW.STAGING_REASON_ID is null) then
SELECT STAGING_SEQ_ERROR_REASON.NEXTVAL
INTO :NEW.STAGING_REASON_ID
END;
ALTER TRIGGER "STAGING_TRIGGER_ERROR_REASON" ENABLE;