简单触发器问题,执行就出错,编译没问题
create or replace trigger trig_onlinegamesjb_zhuang
after update on onlinegamesjb
for each row
declare
-- local variables here
begin
--空桌
if :old.flag=0 then
update newapp.OnlineGameSJB set zhuangflag=1,flag=1 where roomid=:old.roomid;
end if ;
if :old.flag=3 then
update newapp.OnlineGameSJB set zhuangflag=2,flag=2 where roomid=:old.roomid;
end if;
if :old.flag=1 or :old.flag=2 then
update newapp.OnlineGameSJB set zhuangflag=2,flag=1 where roomid=:old.roomid;
end if;
end trig_onlinegamesjb_zhuang;
错误信息
java.sql.SQLException: ORA-04091: 表 NEWAPP.ONLINEGAMESJB 发生了变化,触发器/函数不能读
ORA-06512: 在"NEWAPP.TRIG_ONLINEGAMESJB_ZHUANG", line 6
ORA-04088: 触发器 'NEWAPP.TRIG_ONLINEGAMESJB_ZHUANG' 执行过程中出错
触发器目的:
更新表中数据时触发,如果表中flag值为不同的值时,更新列为不同的值。就这么简单。可是总出错。
求助!!!