oracle - 在 Oracle PL/SQL 中使用触发器改变触发器错误
问题描述
我正在学习 Oracle,但在执行我创建的触发器时遇到了问题。我想要做的是这个触发器自动更新 OCEX_COMI 表的 Pago_Com 列。
create or replace trigger ocex_comi_total
after insert or update of id_gt on ocex_comi
for each row
begin
update ocex_comi cm set
cm.PAGO_COM = (select uea.total_x_pnp from OCEX_UEA uea
join OCEX_GUIA_TRANSITO gt on uea.N_MINA = gt.dest_entreg
where gt.cod_gt=cm.id_gt)
where cm.id_gt = (select gt.cod_gt from ocex_guia_transito gt
JOIN ocex_uea uea on uea.N_MINA=gt.DEST_ENTREG
where gt.cod_gt=cm.id_gt);
end;
我的表以下列方式相关:我从 OCEX_UEA 表的“n_mina”字段中获得的“total_x_pnp”又与“OCEX_GUIA_TRANSITO”表的“gt.dest_entreg”列相关,但是有是我的“where”子句的问题,并且通过将“OCEX_GUIA_TRANSITO”标签的“cod_gt”列与“OCEX_COMI”表的“ID_GT”列相匹配,因为它没有选择任何行,也没有进行比较和生成“突变触发问题”错误。一些帮助,以便您可以执行插入并验证字段“OCEX_COM.ID_GT”,以便可以执行触发器。或者我应该通过存储过程来改变它?
谢谢你。
解决方案
推荐阅读
- ionic-framework - Ionic4 Native Geolocation 不要求 Android 的许可
- python - Scrapy Mongodb 重复键错误 E11000 pymongo.errors.DuplicateKeyError: E11000
- javascript - 从 Typescript 中的 html 对象中提取数据时,如何消除类型错误?
- jenkins - 来自 Github 和 Jenkinsfile 的临时 Jenkins 流水线作业
- rust - 如何在 rust(和 stdweb)中使用 Rc Refcell
- python - 在 Python 中使用 selenium 选择 youtube 视频质量
- javascript - 我需要按顺序从非异步函数运行异步函数(同步) - 有可能吗?
- jquery - 不包括具有特定类的节点(或其子节点)的 Jquery 选择器
- python - Matplotlib 是唯一与 Tkinter 兼容的绘图软件吗?
- bash - 使用 Shell 脚本删除断线