例如,我已经执行了这个sql查询,并给出了结果。 我想使用oracle查询删除这些结果。
Select
a.ENAME ,
a.JOB,
a.MGR,
a.HIREDATE,
a.SAL,
b.DEPTNO,
b.DNAME,
b.LOC
from emp a , dept b where a.DEPTNO=b.DEPTNO and a.DEPTNO=10
DELETE FROM emp , dept
WHERE a.DEPTNO=b.DEPTNO

答案 0 :(得分:0)
没有任何命令可以从两个表中删除链接。但我提出两个方案。第一种情况可用于非父/子表。第二种情况可用于父/子表。
首先:收集所有常见PK 或表格的任何常见字段。 (当然你有一个共同的领域)。如下查询:
(Select a.DEPTNO from emp a , dept b where a.DEPTNO=b.DEPTNO and a.DEPTNO=10)
然后在一个事务中使用删除命令序列。
delete from dept where DEPTNO IN (Select a.DEPTNO from emp a , dept b where a.DEPTNO=b.DEPTNO and a.DEPTNO=10)
delete from emp where DEPTNO IN (Select a.DEPTNO from emp a , dept b where a.DEPTNO=b.DEPTNO and a.DEPTNO=10)
秒:使用CASCADE DELETE配置。 (仅适用于父母/子女表格)
如果无法控制副作用,此解决方案是有害的
在级联删除中,当删除父表中的记录时,将自动删除子表中的相应记录。