Oracle 使用联接的SQL删除

Oracle 使用联接的SQL删除,oracle,sql-delete,oracle8i,Oracle,Sql Delete,Oracle8i,我试图使用下面的查询从emp和dept表中删除行。 但在执行查询之后,它只是从dept表中删除行,而不是从emp中删除行 delete ( select * from emp e,dept d where e.empno=d.empno and e.sal in ('200','1950','5000') and d.objid in ('1001','1002','1003') ); 我正在使用Oracle8i。 请帮忙!! 提前感谢Oracle只允许从每个语句的一个表中删除,AFA

我试图使用下面的查询从emp和dept表中删除行。 但在执行查询之后,它只是从dept表中删除行,而不是从emp中删除行

delete  (
select * from  emp e,dept d
where e.empno=d.empno
and  e.sal in  ('200','1950','5000')
and d.objid in ('1001','1002','1003')
);
我正在使用Oracle8i。 请帮忙!!
提前感谢

Oracle只允许从每个语句的一个表中删除,AFAIK。因此,您应该重写您的逻辑以进行两次单独的删除。或者,您可以设置为级联删除,这样您只需要从父表中删除记录。