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;
我会一直学下去的 淡定,淡定,淡定…… 淡定,淡定,淡定…… 编程,我的真爱上你了 编程真的很累 真是难得给力的帖子啊。 我会一直学下去的 编程,我的真爱上你了 路过,顶上去!!! 学习无止境
页:
[1]