create table a(
id int,
col varchar2(3)
);
insert into a values(1,'');
insert into a values(2,'');create or replace trigger a_del
after delete on a
begin
update a set col='男';
end;
/delete a where id=1;
select * from a;

解决方案 »

  1.   

    哎,这么奇怪的需求啊,
    只好用自治事务,不过不是万不得已,不要这么做。create or replace trigger a_trigger
    after delete on a
    for each row
    declare
      pragma autonomous_transaction;
    begin
      update a set sex='男' where rowid != :new.rowid;
      commit;
    end;
      

  2.   

    create table A(
    id int,
    sex varchar2(3)
    );
    insert into a values(1,'男');
    insert into a values(2,'女');
    insert into a values(3,'男');
    insert into a values(4,'女');
    insert into a values(5,'男');
    insert into a values(6,'女');
     
    create or replace trigger A_del
    after delete on A
    for each row
    declare
    pragma autonomous_transaction; 
    begin
        update a set sex='男' where id!=:new.id;
        commit;
    end;delete from A where id=1;
      

  3.   

    建议楼主看看instead  of 触发器