免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1003 | 回复: 3
打印 上一主题 下一主题

新手,请教一个触发器问题! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-01-15 16:42 |只看该作者 |倒序浏览
我想写一个触发器,当对worker_message表进行删除,修改,插入操作的同时,对jiveuser表也进行同样的操作。

        触发器如下:
      
create or replace trigger "WWW"."TRIGGER_UPDATEJIVEUSER" AFTER
INSERT OR UPDATE OR DELETE ON "WORKER_MESSAGE" FOR EACH ROW


BEGIN

delete jiveuser where username = ld.work_id;

insert into jiveUser (
         userID,name,username,passwordHash,email,emailVisible,
         nameVisible,creationDate,modifiedDate,rewardPoints
)
select seqJiveUserId.nextval,work_name,work_id,pass_word,
         'guest@chinamobile.com.cn',1,1,'0','0',0
from worker_message
where work_id = :new.work_id;

当执行delete worker_message where work_id = 'A00000';时错误如下:

END TRIGGER_UPDATEJIVEUSER;
ORA-04091: table WWW.WORKER_MESSAGE is mutating, trigger/function may not see
it
ORA-06512: at "WWW.TRIGGER_UPDATEJIVEUSER", line 6
ORA-04088: error during execution of trigger 'WWW.TRIGGER_UPDATEJIVEUSER'

论坛徽章:
0
2 [报告]
发表于 2004-01-15 18:09 |只看该作者

新手,请教一个触发器问题!

insert into jiveUser (
userID,name,username,passwordHash,email,emailVisible,
nameVisible,creationDate,modifiedDate,rewardPoints
)
select seqJiveUserId.nextval,work_name,work_id,pass_word,
'guest@chinamobile.com.cn',1,1,'0','0',0
from worker_message
where work_id = :new.work_id;


有问题,在表中你使用你触发的表。
我前一段也遇到这个问题!
可以看看我以前发的“一个触发器问题???”

论坛徽章:
0
3 [报告]
发表于 2004-01-15 23:59 |只看该作者

新手,请教一个触发器问题!

thank u!
但我没有搜索到你的帖子!
能不能给我个地址或者把你的触发器给我看一下?

论坛徽章:
0
4 [报告]
发表于 2004-01-16 00:04 |只看该作者

新手,请教一个触发器问题!

谢谢zhhlv!!
我已经找到你的帖子了。
懂了!
thanks
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP