ITPUB??ì3
12月微软Hyper-V虚拟化沙龙主题征集
ITPUB论坛 » Oracle开发 » 在删除触发器中如何去读其他数据

标题: 在删除触发器中如何去读其他数据
离线 Arrayzyhalj
中级会员



精华贴数 0
个人空间 0
技术积分 774 (2489)
社区积分 11 (10216)
注册日期 2002-1-17
论坛徽章:1
授权会员     
      

发表于 2002-1-20 15:14 
在删除触发器中如何去读其他数据

我写了一个删除触发器,可以编译通过
可是在触发器的执行部分里只要有select 语句触发器触发时就报错
我是否只能得要用游标来实现select 的功能呢!!!



只看该作者    顶部
在线/呼叫 biti_rainy
人生就是如此



精华贴数 38
个人空间 0
技术积分 111199 (4)
社区积分 11832 (132)
注册日期 2001-12-12
论坛徽章:41
现任管理团队成员ITPUB长老会成员ITPUB元老年度论坛发贴之星年度论坛发贴之星ITPUB北京九华山庄2008年会纪念徽章
管理团队2007贡献徽章参与2007年甲骨文全球大会(中国上海)纪念ITPUB北京香山2007年会纪念徽章管理团队2006纪念徽章会员2007贡献徽章会员2006贡献徽章

发表于 2002-1-20 16:35 
o

select的内容有没有赋予变量?
如果是当前记录,只要用new 或者 old引用就可以了(删除就是old)


__________________
眼界决定边界,态度决定高度
blog:
人生就是如此
只看该作者    顶部
离线 jmniu
中级会员


精华贴数 3
个人空间 0
技术积分 1183 (1527)
社区积分 55 (4717)
注册日期 2001-12-31
论坛徽章:2
ITPUB元老授权会员    
      

发表于 2002-1-20 17:08 
What is your error message? Is it mutating error?


__________________
有感即通,千江有水千江月; 无机不被,万里无云万里天。
只看该作者    顶部
离线 ericlma
中级会员



精华贴数 0
个人空间 0
技术积分 274 (7206)
社区积分 0 (49256)
注册日期 2001-11-16
论坛徽章:1
授权会员     
      

发表于 2002-1-21 01:48 
Sounds like a mutating table error.  Show us the error trace so we can suggest some work-arounds.


只看该作者    顶部
离线 but_one
初级会员



精华贴数 0
个人空间 0
技术积分 16 (62147)
社区积分 0 (51660)
注册日期 2002-1-21
论坛徽章:0
      
      

发表于 2002-1-21 08:42 
error is ora-04098

error is ora-04098


只看该作者    顶部
在线/呼叫 biti_rainy
人生就是如此



精华贴数 38
个人空间 0
技术积分 111199 (4)
社区积分 11832 (132)
注册日期 2001-12-12
论坛徽章:41
现任管理团队成员ITPUB长老会成员ITPUB元老年度论坛发贴之星年度论坛发贴之星ITPUB北京九华山庄2008年会纪念徽章
管理团队2007贡献徽章参与2007年甲骨文全球大会(中国上海)纪念ITPUB北京香山2007年会纪念徽章管理团队2006纪念徽章会员2007贡献徽章会员2006贡献徽章

发表于 2002-1-21 09:43 
o

$ oerr ora 04098
04098, 00000, "trigger '%s.%s' is invalid and failed re-validation"
// *Cause: A trigger was attempted to be retrieved for execution and was
//         found to be invalid.  This also means that compilation/authorization
//         failed for the trigger.
// *Action: Options are to resolve the compilation/authorization errors,
//         disable the trigger, or drop the trigger.


触发器本身就有问题?
或者是不是所倚赖的对象发身了变化?

重新编译,看看有没有问题

或者帖出你的代码




__________________
眼界决定边界,态度决定高度
blog:
人生就是如此
只看该作者    顶部
离线 coolsword
落叶飘零


精华贴数 4
个人空间 0
技术积分 3754 (390)
社区积分 2672 (501)
注册日期 2001-10-13
论坛徽章:5
行业板块每日发贴之星     
      

发表于 2002-1-21 10:09 
1。保证你的select的记录只有一条(没用游标的话)
2。保证你要select 的记录进入了一变量


__________________
No Name
只看该作者    顶部
离线 zyhalj
中级会员



精华贴数 0
个人空间 0
技术积分 774 (2489)
社区积分 11 (10216)
注册日期 2002-1-17
论坛徽章:1
授权会员     
      

发表于 2002-1-21 12:54 
我的触发器内容如下

begin
update t_cgjh set jhcgze=(select sum(jhcgje) from
t_cgjhmx where jhid=ld.jhid) where jhid=ld.jhid;
end;


只看该作者    顶部
离线 zyhalj
中级会员



精华贴数 0
个人空间 0
技术积分 774 (2489)
社区积分 11 (10216)
注册日期 2002-1-17
论坛徽章:1
授权会员     
      

发表于 2002-1-21 13:03 
触发器的内容改为这样还报错

declare
aa number;
begin
select sum(jhcgje) into aa from
t_cgjhmx where jhid=ld.jhid;
update t_cgjh set jhcgze=aa where jhid=ld.jhid;
end;


只看该作者    顶部
离线 zyhalj
中级会员



精华贴数 0
个人空间 0
技术积分 774 (2489)
社区积分 11 (10216)
注册日期 2002-1-17
论坛徽章:1
授权会员     
      

发表于 2002-1-21 13:11 
删除数据报错顺序

ora-04091
ora-06512
ora-04088


只看该作者    顶部
相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问