首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试创建我的第一个oracle触发器时出现问题

尝试创建我的第一个oracle触发器时出现问题
EN

Stack Overflow用户
提问于 2015-12-23 01:07:54
回答 1查看 48关注 0票数 1

我正在尝试创建一个触发器,在插入或更新一个记录时,TESTGROUP == 'HSSAG‘将为TESTGROUP 'HSBEJ’创建该记录的副本。并且当用于HSSAG的记录被更新时,相关的HSBEJ记录将被更新。

代码语言:javascript
复制
create or replace TRIGGER VAL_TESTTYPE_CLONING 
AFTER DELETE OR INSERT OR UPDATE OF TESTGROUP ON CLONING_TABLE 
FOR EACH ROW 
WHEN (new.TESTGROUP = 'HSSAG') 
BEGIN
  INSERT INTO CLONING_TABLE (TESTCOL, TESTGROUP) VALUES(:new.TESTCOL, 'HSBEJ');
END;

这是我尝试插入时出现的错误

代码语言:javascript
复制
INSERT INTO "CLMSDBA"."CLONING_TABLE" (TESTCOL, TESTGROUP) VALUES ('3', 'HSSAG')
ORA-04091: table CLMSDBA.CLONING_TABLE is mutating, trigger/function may not see it
ORA-06512: at "CLMSDBA.VAL_TESTTYPE_CLONING", line 2
ORA-04088: error during execution of trigger 'CLMSDBA.VAL_TESTTYPE_CLONING'
ORA-06512: at line 1


One error saving changes to table "CLMSDBA"."CLONING_TABLE":
Row 3: ORA-04091: table CLMSDBA.CLONING_TABLE is mutating, trigger/function may not see it
ORA-06512: at "CLMSDBA.VAL_TESTTYPE_CLONING", line 2
ORA-04088: error during execution of trigger 'CLMSDBA.VAL_TESTTYPE_CLONING'
ORA-06512: at line 1
EN

回答 1

Stack Overflow用户

发布于 2015-12-23 03:03:03

我发现了一个非常好的解决变异触发器问题的方法。希望这能有所帮助。

Mutating trigger workaround

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34421021

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档