问题描述
你好,汤姆,
我在下面粘贴了一个带有错误消息的触发器时遇到了问题,您能否让我知道其他任何选择。
创建表测试 (id号,名称VARCHAR2(20),注释VARCHAR2(20));
插入测试 (ID,名称,注释) 值 (1,“ajay”,“插入”);
创建或替换触发器TEST_TRG
在测试时插入或更新或删除后
对于每一行
声明
PRAGMA自主交易;
开始
如果更新,则
更新测试集注释 = '从触发器更新' 其中ID =:NEW.ID;
提交;
如果结束;
结束;
开始
更新测试集名称 = 'AJAYRAM',注释 = 'UPDATE' 其中ID = 1;
提交;
结束;
错误报告-
ORA-00060: 在等待资源时检测到死锁
ORA-06512: 在 “BELLCAN1.TEST _ TRG”,第6行
ORA-04088: 触发器 'bellcan1.test _ TRG' 执行期间出错
ORA-06512: 在2号线
00060. 00000-“在等待资源时检测到死锁”
我在下面粘贴了一个带有错误消息的触发器时遇到了问题,您能否让我知道其他任何选择。
创建表测试 (id号,名称VARCHAR2(20),注释VARCHAR2(20));
插入测试 (ID,名称,注释) 值 (1,“ajay”,“插入”);
创建或替换触发器TEST_TRG
在测试时插入或更新或删除后
对于每一行
声明
PRAGMA自主交易;
开始
如果更新,则
更新测试集注释 = '从触发器更新' 其中ID =:NEW.ID;
提交;
如果结束;
结束;
开始
更新测试集名称 = 'AJAYRAM',注释 = 'UPDATE' 其中ID = 1;
提交;
结束;
错误报告-
ORA-00060: 在等待资源时检测到死锁
ORA-06512: 在 “BELLCAN1.TEST _ TRG”,第6行
ORA-04088: 触发器 'bellcan1.test _ TRG' 执行期间出错
ORA-06512: 在2号线
00060. 00000-“在等待资源时检测到死锁”
专家解答
你不能更新你正在触发的表 (你会得到一个变异表错误),解决这个问题是 * 绝对 * 不是一个自治事务。
在我看来,你只是想要:
在我看来,你只是想要:
CREATE OR REPLACE TRIGGER TEST_TRG BEFORE UPDATE ON TEST FOR EACH ROW BEGIN :New.COMMENTS :='UPDATING FROM TRIGGER'; END;复制
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
Oracle RAC 一键安装翻车?手把手教你如何排错!
Lucifer三思而后行
597次阅读
2025-04-15 17:24:06
【纯干货】Oracle 19C RU 19.27 发布,如何快速升级和安装?
Lucifer三思而后行
576次阅读
2025-04-18 14:18:38
XTTS跨版本迁移升级方案(11g to 19c RAC for Linux)
zwtian
491次阅读
2025-04-08 09:12:48
Oracle数据库一键巡检并生成HTML结果,免费脚本速来下载!
陈举超
474次阅读
2025-04-20 10:07:02
【ORACLE】记录一些ORACLE的merge into语句的BUG
DarkAthena
459次阅读
2025-04-22 00:20:37
Oracle 19c RAC更换IP实战,运维必看!
szrsu
436次阅读
2025-04-08 23:57:08
【ORACLE】你以为的真的是你以为的么?--ORA-38104: Columns referenced in the ON Clause cannot be updated
DarkAthena
434次阅读
2025-04-22 00:13:51
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
420次阅读
2025-04-17 17:02:24
火焰图--分析复杂SQL执行计划的利器
听见风的声音
368次阅读
2025-04-17 09:30:30
3月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
358次阅读
2025-04-15 14:48:05