id | pid |
1 | 0 |
2 | 1 |
3 | 1 |
比如oracle表中数据是这样的,怎么定义触发器,比如,更改id=1的id时,使id=2,3的行的pid跟着更改
还有删除id=1的行,pid为1的行也删除
id | pid |
1 | 0 |
2 | 1 |
3 | 1 |
比如oracle表中数据是这样的,怎么定义触发器,比如,更改id=1的id时,使id=2,3的行的pid跟着更改
还有删除id=1的行,pid为1的行也删除
[code="sql"]
create or replace trigger trigger_test
after update or delete on whisky
referencing old as old new as new
for each row
declare
PRAGMA AUTONOMOUS_TRANSACTION;
-- local variables here
begin
--for update
if updating then
update whisky set pid = :new.id where pid = :old.id;
else
--for delete
delete from whisky where pid = :old.id;
end if;
commit;
end trigger_test;
[/code]
我测试是ok的,不知是否满足你的需求。。。