根据 zdid 同时删除oracl数据库中的两个表中的两个数据 有没有关联删除的方法
一般这种情况你需要采用事务的形式去删除
如果是在第三方程序,比如JAVA之类的,那么你应该在程序中使用事务
例如使用JAVA首先要把自动提交给关闭,然后先删除子表,再删除主表。最后两表都完成后再commit
如果你是通过存储过程或代码块的形式,那么直接写两条SQL最后commit即可。
在DELETE的时候你可以直接将需要删除的ID返回,这样可以避免一次查询。
下面是一个DEMO,可以在删除UPDATE_DEMO1 表的时候返回被删除表的ID,用于后续处理。
declare
TYPE T_TYPE IS TABLE OF NUMBER;
L_IDS T_TYPE;
begin
DELETE FROM UPDATE_DEMO1 WHERE F2 = 'B' RETURNING ID BULK COLLECT INTO L_IDS;
FOR I IN 1..L_IDS.COUNT LOOP
DBMS_OUTPUT.put_line(L_IDS(I));
END LOOP;
end;
如果你想知道更多的数据库知识或者相关问题想要咨询,可以私信我,也可以关注我的微信公众号:唯一的小彬哥