表 employee ( ID varchar(8),  name varchar(20),sex varchar(10),dept varchar(20),salary numeric(8,2)) 
触发器要求题 :但是对于本表的修改一直出现死循环即update调用update 
请高手赐教 这个触发器该怎么写~~

解决方案 »

  1.   

    直接在你的触发器里写
    UPDATE employee set salary=salary+涨的数量  
    有什么问题? 你的代码贴出来看看...
      

  2.   

    不用触发器,直接update写,在一个事务中做
      

  3.   

    update employee set salary=salary+add_alary
    where dept='加薪部门'
      

  4.   

    我的代码:
    create or replace trigger update_salary
    before update on employee for each row
    declare
    pragma autonomous_transaction;
    begin
    update employee set salary = :new.salary where (dept = :old.dept) and (ID!=:old.ID);
    commit;
    end;
    /然后 我更新 
    update employee set salary = 2000 where ID = '4';
    报错
    ora-00060:等待资源是检测到死锁
    ora-06512 在"MYQ_ADMIN.UPDATE_SALARY",line 4
    ora-04088 :触发器"MYQ_ADMIN.UPDATE_SALARY"执行过程中出错