首页 > 技术文章 > oracle删除主表时顺便删除附表数据

masha2017 2021-01-06 22:02 原文

当出现关联表的时候,希望在删除主表数据的时候,顺便删除附表的数据。

例如:主表为user用户表,附表为user_record表
当删除user表中的某个人的时候,顺便删除附表的某个人的所有记录。
1、可以在程序中删除主表的时候,同时删除附表

delete from user where pid='1'
delete from user_record where user_id='1'

2、可以在表user中写一个delete的触发器,当执行
delete from user where pid='1'时,
触发器就自动执行
delete from user_record where user_id=:OLD.PID
即可。

CREATE OR REPLACE TRIGGER "TIG_USER" AFTER DELETE ON USER
FOR EACH ROW
BEGIN
    begin
        delete from user_record where user_id=:OLD.PID
    end;
END;

 

推荐阅读