当前位置: 代码迷 >> Oracle认证考试 >> delete from 出错啊
  详细解决方案

delete from 出错啊

热度:273   发布时间:2016-04-24 03:50:09.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); 
  相关解决方案