oracle 删除数据

2025-06-28 21:33:21
推荐回答(3个)
回答1:

感觉有点绕
我理解的楼主的意思是这样
不知道对不对
如果table1中不存在col2这条记录
则删除table2中对应的记录
delete from table2
where ouid2=
(select ouid2 from table1 where col2 is null)

回答2:

按你说的好像用到动态SQL会是最简洁的写法,可惜我不太熟,给你个笨点的办法——直接用not exists,删除语句如下:
delete table2 where not exists(select 1 from table1 where col1 = 'table2' and col1 = table2.ouid2)
这会把table2中所有ouid2字段值在TABLE1中找不到对应col1的记录全部删除。
如果有多个表要处理的话,比如还有TABLE3、TABLE4什么的,就多写几次这个语句,把TABLE2换成别的表了,呵呵。

回答3:

如果数据中col1中对应的表中如果不存在col2这条记录是col2 is null的意思吗?