不是行级触发器(for each row)的就可以访问该表

解决方案 »

  1.   

    但是我要得到的是对每一行都要做判断并触发的。
    create or replace trigger update_outstore
    after update on hos_zy_medicine_sub
    for each row
    begin
    if :new.med_outstore_num>=:old.med_unit_reduce then
    update hos_zy_medicine_sub
    set med_outstore_num = med_outstore_num - med_unit_reduce
    where med_num = :new.med_num;
    update hos_medicine_sub
    set med_outstore_num = med_outstore_num + 1
    where med_num = :new.med_num;
    end if;
    end;
      

  2.   

    不可以,你的触发器是在表hos_zy_medicine_sub update时触发,而在触发器中又去update该表,这将导致循环递归,不行的。
      

  3.   

    可以了。你主要是修改的字段为:new就可以了