0

当我尝试更新表时,我收到表正在变异错误

update flight 
set captainStaffID='S0009' 
where flightid='000000043';

这是触发器:

create or replace trigger trigger1 
before INSERT OR UPDATE of captainStaffID,firstOfficerStaffID on flight
for each row


if UPDATING  then
    select count(*) into temp7 
    from flight 
    where flightid in (select ap.flightid  
                       from ADDITIONAL_PILOT ap 
                       where activityCode ='TR');
    dbms_output.put_line('New'||:new.flightid||'OLD'||:old.flightid);


end if;

end trigger1;
/

第 1 行的错误:

ORA-04091: 表 XXXXXX.FLIGHT 正在变异,触发器/函数可能看不到它
ORA-06512: 在“XXXXXX.TRIGGER1”,第 7 行
ORA-04088: 执行触发器时出错.....TRIGGER1'

我正在使用以下更新查询来启动我的触发器

update flight set captainStaffID='S0009' where flightid='000000043';
4

0 回答 0