我的第一个oracle trigger 报错ora-04098:触发器无效且未通过重新验证
来源:互联网 发布:手机淘宝整点抢购技巧 编辑:程序博客网 时间:2024/06/07 06:21
公司系统需要,临时需要我写一个触发器, 我简单的记录了一下我的第一个触发器的编写过程.
第一步,找部分参考资料,看懂大概的逻辑 :http://blog.csdn.NET/qingzhongren/article/details/7969454
第二步,参照资料写自己的触发器逻辑:
CREATE OR REPLACE TRIGGER update_bms_ord_record
AFTER UPDATE OF status ON oms.oms_order
FOR EACH ROW
BEGIN
CASE
WHEN UPDATING('status') THEN
IF :NEW.status='SIGN' THEN
UPDATE bms_ord_record ord SET ord.Be_Sign=1,ord.sign_time=:OLD.ACTUAL_RECEIVE_TIME WHERE ord.relatebill1=:old.relatebill1;
ELSIF :OLD.status='SIGN'
UPDATE bms_ord_record ord SET ord.Be_Sign=0,ord.sign_time=NULL WHERE ord.relatebill1=:OLD.relatebill1;
END IF;
END CASE;
END;
写完上述逻辑后在sql窗口进行执行,未报任何异常;
第三步:测试
我写了一个update语句进行测试,
UPDATE oms_order o SET o.status='SIGN2' WHERE o.relatebill1='50010777';但是报错,
切换用户后, 即可能看到自己的触发器, 如下图
点击编辑,就可以在右边窗口下面看到相应的错误, 或者再次执行一下脚本, 错误出现的地方会有黄色光标行停留
最终 根据错误提示,检查确实是在ELSIF 的表达式后少了一个结尾的 then 关键字, 加上后,再次进行编译,没有任何错误提示, 测试效果也是ok .
0 0
- 我的第一个oracle trigger 报错ora-04098:触发器无效且未通过重新验证
- oracle ora-04098:触发器无效且未通过重新验证
- 报错ora-04098:触发器无效且未通过重新验证
- ORACLE-TRIGGER-ERROR 04098 触发器无效且未通过重新验证
- ORA-04098: 触发器无效且未通过重新验证
- ORA-04098:触发器无效且未通过重新验证
- ora-04098 触发器无效且未通过重新验证
- ORA -04098 触发器无效且未通过重新验证
- Oracle触发器编译错误之ORA-04098: 触发器 无效且未通过重新验证
- ORACLE触发器无效且未通过重新验证
- 触发器无效且未通过重新验证
- ORA-04098: 触发器 无效且未通过重新确认
- oracle 建立自增字段 触发器未通过验证
- struts2的validate.xml验证无效,且报异常
- oracle触发器trigger的使用
- 我的第一个触发器练习
- 我的第一个mysql触发器
- oracle自增auto_increment与oracle 创建触发器是非法的 ORA-04098: trigger 'USER_TRIGGER'is invalid and failed re-v
- permutations
- CheckBox 选中效果 选中子自动选中父
- Android开发:Handler Runnable和Thread之间的区别和联系 应用--------------------看完本篇,从此一览无余!
- HTTP中application/x-www-form-urlencoded字符说明
- 在学习 Thread 中 学到的定时器工具 Timer 和 TimerTask 理解
- 我的第一个oracle trigger 报错ora-04098:触发器无效且未通过重新验证
- 坚持#第91天~提高效率!
- [JZOJ4866] 禅与园林艺术
- 算法-冒泡排序
- elastix3.0 备忘
- cordova 在android的端使用
- Javascript 高级面向对象
- 413. Arithmetic Slices
- centos7下安装mysql