我建了一个触发器
CREATE or replace TRIGGER ADS.DEL_BASE_INFO
AFTER DELETE ON ADS.BASE_INFO
FOR EACH ROW
BEGIN
INSERT INTO DEL_DATA(REC_ID,TABLE_NAME,FIELD_NAME,DATA_ID,DEL_TIME)
VALUES(SEQ_DEL_DATA.NEXTVAL,'BASE_INFO','BASE_ID',:old.BASE_ID,sysdate);
END;建立的时候没有报错.
也用过
可是不知为什么,今儿就忽然不行了.
请问这个语句有错误吗?
CREATE or replace TRIGGER ADS.DEL_BASE_INFO
AFTER DELETE ON ADS.BASE_INFO
FOR EACH ROW
BEGIN
INSERT INTO DEL_DATA(REC_ID,TABLE_NAME,FIELD_NAME,DATA_ID,DEL_TIME)
VALUES(SEQ_DEL_DATA.NEXTVAL,'BASE_INFO','BASE_ID',:old.BASE_ID,sysdate);
END;建立的时候没有报错.
也用过
可是不知为什么,今儿就忽然不行了.
请问这个语句有错误吗?
先检查BASE_INFO和DEL_DATA表结构是否被修改了。
如没修改alter trigger ADS.DEL_BASE_INFO compile;试试。
其次,调试一下,
INSERT INTO DEL_DATA(REC_ID,TABLE_NAME,FIELD_NAME,DATA_ID,DEL_TIME)
VALUES(SEQ_DEL_DATA.NEXTVAL,'BASE_INFO','BASE_ID',:old.BASE_ID,sysdate);
换成具体的值,有错误吗
后来到oracle控制台发现加上分号重新建立,就可以了。