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;
哎,这么奇怪的需求啊, 只好用自治事务,不过不是万不得已,不要这么做。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;
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;
只好用自治事务,不过不是万不得已,不要这么做。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;
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;