我现在有这样一个需求,就是系统有个更新语句,我无法更改,但是他更新的值是错的,我想在他更新的时候,建一个触发器,改成正确的值,
我不知道怎样做,望高人帮助就是比如有个A表,有个 aaa字段
当 系统更新aaa字段值为 'accept'的时候,我需要调我的触发器,把这个accept 更新为 report_accept我总是出现死循环或死锁问题,望大家帮忙

解决方案 »

  1.   


    --建表
    create table A(aaa varchar(20));
    --建触发器
    create or replace trigger A_biur
    before insert or update
    on A
    for each row
    begin
    if :new.aaa='accept' then
    :new.aaa:='report_accept';
    end if;
    end;
    /
    --测试
    insert into a values('accept');
    select * from a;
    update a set aaa='accept1';
    select * from a;
    update a set aaa='accept';
    select * from a;
    --完成
      

  2.   

    非常感谢,我总用after试,怎么也试不出来