有关触发器问题

[复制链接]
查看11 | 回复9 | 2005-2-28 12:57:00 | 显示全部楼层 |阅读模式
建立触发器时,系统提示:
ERROR 位于第 1 行:
ORA-03113: 通信通道的文件结束
请问这样的错误是如何产生的,应该如何进行解决?
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
你的触发器有问题,引起通讯中断!
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
CREATE OR REPLACE TRIGGER "TG_ONTHEWAYPAYMENT_UPDATE" AFTER
UPDATE ON "ONTHEWAYPAYMENT"
FOR EACH ROW
BEGIN
update AGENTCREDIT set GENERALONTHEWAYPAYMENT =
(select
GeneralOnthewayPayment
from
VIEW_GOP,ONTHEWAYPAYMENT
where
VIEW_GOP.AGENTID = AGENTCREDIT.AGENTID
and VIEW_GOP.AGENTID = :new.AGENTID)
END;
/
其中VIEW_GOP是一个视图。
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
是不是你使用了dblink?
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
update 最后少了一个分号吧,一般我建议对对象的引用最好不用双引号括起来。
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
SQL> CREATE OR REPLACE TRIGGER TG_ONTHEWAYPAYMENT_UPDATE AFTER
2UPDATE ON ONTHEWAYPAYMENT
3FOR EACH ROW
4BEGIN
5update AGENTCREDIT set GENERALONTHEWAYPAYMENT =
6(select
7 GeneralOnthewayPayment
8 from
9 VIEW_GOP,ONTHEWAYPAYMENT
10 where
11 VIEW_GOP.AGENTID = AGENTCREDIT.AGENTID
12 and VIEW_GOP.AGENTID = :new.AGENTID);
13END;
14/
CREATE OR REPLACE TRIGGER TG_ONTHEWAYPAYMENT_UPDATE AFTER
*
ERROR 位于第 1 行:
ORA-03113: 通信通道的文件结束
这段SQL中没有涉及到dblink。
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
先把触发器drop掉,再重建
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
按楼上的,就可以了。
但为什么呀!
创建时用replace了。
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
CREATE OR REPLACE TRIGGER TG_ONTHEWAYPAYMENT_UPDATE AFTER
UPDATE ON ONTHEWAYPAYMENT
FOR EACH ROW
BEGIN
update AGENTCREDIT set GENERALONTHEWAYPAYMENT =
(select
GeneralOnthewayPayment
from
VIEW_GOP
where
VIEW_GOP.AGENTID = AGENTCREDIT.AGENTID
and VIEW_GOP.AGENTID = :new.AGENTID);
END;
/
触发器已创建。
但在执行时,报错:
ORA-04091: 表 ONTHEWAYPAYMENT 发生了变化,触发器/函数不能读
ORA-06512: 在"TG_ONTHEWAYPAYMENT_UPDATE", line 2
ORA-04088: 触发器 'TG_ONTHEWAYPAYMENT_UPDATE' 执行过程中出错
如何解决?
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
VIEW_GOP是根据ONTHEWAYPAYMENT产生的。
但创建的触发器是AFTER UPDATE,应该视图已经更新了吧!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行