oracle - 触发器更新联合视图与触发器表
问题描述
我试图让我的触发器更新一个视图,该视图连接两个表,其中一个是激活触发器的表,导致此错误
INSERT INTO MC_CLUB_MBR_TRANSACTION * ERROR at line 1: ORA-04091: table ESP8339.MC_CLUB_MBR_TRANSACTION is mutating, trigger/function may not see it ORA-06512: at "ESP8339.TRG_MC_UPD_DUES", line 2 ORA-04088: error during execution of trigger 'ESP8339.TRG_MC_UPD_DUES'
这是我正在使用的代码
CREATE OR REPLACE TRIGGER TRG_MC_UPD_DUES
AFTER UPDATE OR INSERT ON
MC_CLUB_MBR_TRANSACTION
FOR EACH ROW
BEGIN
UPDATE MC_TRAN_V
SET MC_TRAN_V.DUES_DUE = (MC_TRAN_V.ANNUAL_DUES -
MC_TRAN_V.DUES_PAID_TO_DATE);
END;
/
INSERT INTO MC_CLUB_MBR_TRANSACTION
(
CLUB_CODE,
STUDENT_ID,
DUES_PAID_TO_DATE
)
VALUES
(
777,
20010,
300
);
解决方案
推荐阅读
- groovy - 最终静态属性上的 Groovy MissingPropertyException
- javascript - 无法在 VueJS 中创建材料设计 (mdi) 复选框
- azure - 在 Azure VM 中运行虚拟机
- r - Ggplot2 - 我无法插入图表图例
- java - java charAt() 数组问题
- node.js - Ajax 使用 Axios 从文件系统发布文件
- macos - 如何在 JXA 中获取(地址 id 包含 addressId 的人)?
- scala - 递归函数的优化
- python - beautifulsoup 错过了网页的其余部分
- python - 如何从两个现有的单索引数据帧创建多索引数据帧?