关于触发器更改标志位问题,急,万分感谢
表sales_control_bill上有个预发数量turn_num ,有个实发数量excute_num
我想实现 excute_num > turn_num 的时候,即实发数量大于预发数量时,执行状态变为结束。下面是我写的触发器,但执行出错,请高手指点。
错误信息:
ORA-04091: 表 JDSNAS.SALES_CONTROL_BILL 发生了变化,触发器/函数不能读
ORA-06512: 在"JDSNAS.UP_CONFLAG", line 3
ORA-04088: 触发器 'JDSNAS.UP_CONFLAG' 执行过程中出错
请高手指点,急,不胜感激
CREATE OR REPLACE TRIGGER up_conflag
after UPDATE OF excute_num ON sales_control_bill
FOR EACH ROW
BEGIN
if :new.excute_num >= :old.turn_num then
update sales_control_bill
set excute_flag = 'C'
where cortrolbill_no = :old.cortrolbill_no;
end if;
end;
我想实现 excute_num > turn_num 的时候,即实发数量大于预发数量时,执行状态变为结束。下面是我写的触发器,但执行出错,请高手指点。
错误信息:
ORA-04091: 表 JDSNAS.SALES_CONTROL_BILL 发生了变化,触发器/函数不能读
ORA-06512: 在"JDSNAS.UP_CONFLAG", line 3
ORA-04088: 触发器 'JDSNAS.UP_CONFLAG' 执行过程中出错
请高手指点,急,不胜感激
CREATE OR REPLACE TRIGGER up_conflag
after UPDATE OF excute_num ON sales_control_bill
FOR EACH ROW
BEGIN
if :new.excute_num >= :old.turn_num then
update sales_control_bill
set excute_flag = 'C'
where cortrolbill_no = :old.cortrolbill_no;
end if;
end;
...全文
相关推荐
数据增量抽取的解决方案
**标志位法**:在源系统中为每个数据项添加一个标志位,用于记录该数据项是否被修改过。ETL流程在执行时检查这些标志位,仅抽取那些被标记为已更改的数据。
OpenGL 进阶系列17 - 编译OpenGL SuperBible 7th 超级宝典随书代码
OpenGL 超级宝典》第七版)是一本广受欢迎的 OpenGL 教程书籍,专注于现代 OpenGL 编程。与早期版本相比,第七版完全围绕OpenGL 4.x 核心模式展开,摒弃了过时的固定管线内容,是学习现代 OpenGL 编程的权威资源。本文介绍下随书代码在Windows和Linux上的编译运行方法。
ODI部署方案及操作指南
- 利用标志位作增量抽取:在数据表中设置标志位,通过检查这些标志位来确定哪些数据需要被抽取。
FPGA入门教程.pdf
此外,在实现序列检测器时,设计师需要关注如何通过状态机来检测特定的数据序列,并在检测到该序列时改变标志位的输出。这些设计实例都有助于理解时序电路设计的核心要素,即时钟信号和触发器的配合使用。
sqlserver 存储过程With Encryption加密的解密
PRINT '为了运行这个存储过程,将参数@refl的值更改为0。'


