版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010686469/article/details/75070381
今天有同事在测试环境建了个触发器:
CREATE OR REPLACE TRIGGER "POSP_TRANS_A"."trg_update_time"
BEFORE INSERT OR UPDATE ON "POSP_TRANS_A"."POS_ORDER" REFERENCING OLD AS "OLD" NEW AS "NEW" FOR EACH ROW
BEGIN
IF INSERTING THEN
:NEW.UPDATE_TIME := SYSDATE;
ELSE
:NEW.UPDATE_TIME := SYSDATE;
END IF;
END;
测试无误后,通过Navicat Premium导出到sql文件,在生产环境建立。
结果生产环境执行后报错:ora-04098:触发器无效且未通过重新验证
查来查去没查到原因,最后发现,自动导出的sql文件里面,自动给加了个分号
去掉分号,问题解决!
另,我用plsql developer导出触发器,发现并没有这个问题 = =