当前位置: 代码迷 >> Oracle认证考试 >> delete from 报错啊该如何处理
  详细解决方案

delete from 报错啊该如何处理

热度:3058   发布时间:2013-02-26 00:00:00.0
delete from 报错啊!
SQL> DELETE FROM employees WHERE employee_id = (SELECT employee_id FROM new_emp);

DELETE FROM employees WHERE employee_id = (SELECT employee_id FROM new_emp)

ORA-01427: single-row subquery returns more than one row


为什么报错呢?
------解决方案--------------------------------------------------------
DELETE FROM employees WHERE employee_id in (SELECT employee_id FROM new_emp) 

因为子查询SELECT employee_id FROM new_emp返回多于一个的结果集
------解决方案--------------------------------------------------------
不能用等值,等值存在一对多的关系,只能用IN

DELETE FROM employees WHERE employee_id IN (SELECT employee_id FROM new_emp); 
  相关解决方案