ahsunshiming 发表于 2015-4-21 16:39:32

oracle触发器的问题

建个触发器,用BEFORE 关键词没问题,但少统计当前一条记录的平均值,如果用AFTER报异常:
异常:java.sql.SQLSyntaxErrorException: ORA-04091: 表 HLW.USERCOMMENT 发生了变化, 触发器/函数不能读它\nORA-06512: 在 \"HLW.COMPREHENSIVEEVALUATION\", line 6\nORA-04088: 触发器 'HLW.COMPREHENSIVEEVALUATION' 执行过程中出错\n

代码如下,请大家帮看一下为什么

create or replace trigger ComprehensiveEvaluation
BEFORE insert on usercomment
for each row
declare
-- local variables here
v_avgTIMELINESS number(4,2);
v_avgCOORDINATION number(4,2);
begin
   select avg(TIMELINESS) into v_avgTIMELINESS from usercomment;
   select avg(COORDINATION) into v_avgCOORDINATION from usercomment;
   v_avgTIMELINESS := (v_avgTIMELINESS+v_avgCOORDINATION)/2;
   update users set COMMENTINTEGRAL=v_avgTIMELINESS where userid=:new.commentedpeopleid;
   update users set COMMENTCOUNT=(select Count(*)from usercomment)where userid=:new.commentedpeopleid;
end ComprehensiveEvaluation;

myqicq 发表于 2015-4-25 22:34:50

我会一直学下去的

myqicq 发表于 2015-4-27 00:04:37

淡定,淡定,淡定……

myqicq 发表于 2015-4-27 04:44:44

淡定,淡定,淡定……

k2012 发表于 2015-4-27 14:57:09

编程,我的真爱上你了

angel2015 发表于 2015-4-27 22:47:09

myqicq 发表于 2015-4-28 02:29:31

编程真的很累

k2012 发表于 2015-4-28 14:59:03

真是难得给力的帖子啊。

k2012 发表于 2015-4-28 18:37:20

我会一直学下去的

likeangel 发表于 2015-4-28 20:09:01

myqicq 发表于 2015-4-28 23:04:40

编程,我的真爱上你了

angel2015 发表于 2015-4-29 11:42:59

likeangel 发表于 2015-4-30 02:07:23

myqicq 发表于 2015-4-30 02:21:12

路过,顶上去!!!

伙夫和甲鱼 发表于 2016-1-31 21:05:52

学习无止境
页: [1]
查看完整版本: oracle触发器的问题