大家是怎么处理触发器中的变异表引发的错误的?

[复制链接]
查看11 | 回复5 | 2006-10-13 01:01:52 | 显示全部楼层 |阅读模式
比如TRIGGER
[PHP]
CREATE OR REPLACE TRIGGER strategy_member_d
AFTER DELETE
ON strategy_member
FOR EACH ROW

--DECLARE
--PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
INSERT INTO strategy_log
(StrategyId,
OldValueId,
TS,
TSUserId)
SELECT :OLD.StrategyId,

:OLD.ObjId,

getdate(),

s.TSUserId

FROM strategy s
WHERE :OLD.StrategyId = s.StrategyId;
END strategy_member_d;
[/PHP]
其中strategy_member有一个strategy的关键删除外键
[php]
alter table STRATEGY_MEMBER
add constraint IF1_STRATEGY_MEMBER foreign key (STRATEGYID)
references STRATEGY (STRATEGYID) on delete cascade;
[/php]
执行
[PHP]DELETE STRATEGE;[/PHP] 会报ORA-04091等错误,大家是怎么解决的?
回复

使用道具 举报

千问 | 2006-10-13 01:01:52 | 显示全部楼层
http://eworm.itpub.net
回复

使用道具 举报

千问 | 2006-10-13 01:01:52 | 显示全部楼层
老兄,你发给我的是什么地址啊,里面没有我想要的东西啊?
回复

使用道具 举报

千问 | 2006-10-13 01:01:52 | 显示全部楼层
http://eworm.itpub.net/post/32430/300262
标题:Avoiding Mutating Tables
就是一个处理变异表的例子
回复

使用道具 举报

千问 | 2006-10-13 01:01:52 | 显示全部楼层
最初由 eworm 发布
[B]http://eworm.itpub.net/post/32430/300262
标题:Avoiding Mutating Tables
就是一个处理变异表的例子 [/B]

不好意思,我没有往英文上面看,让您费心了。呵呵!谢谢!
回复

使用道具 举报

千问 | 2006-10-13 01:01:52 | 显示全部楼层
好像也只有使用Pkg的方法了,我真的很讨厌Hibernate,用什么都麻烦。
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行