ORA-30563: outer join operator (+) not allowed in select-list, CONNECT BY, or START WITH ORACLE 报错 故
文档解释
ORA-30563: outer join operator (+) not allowed in select-list, CONNECT BY, or START WITH
Cause: An attempt was made to reference (+) in select-list, CONNECT BY clause, or START WITH clause.
Action: Do not use the operator in select-list, CONNECT BY clause, or START WITH clause.
当程序员试图在SELECT列表,CONNECT BY或START WITH子句中使用带有外连接操作符(+)的列时,就会出现ORA-30563错误。
在SQL语句中,外连接操作符用于建立从一个表到另一个表的连接,但是本身是不能被用作SELECT列表,CONNECT BY或START WITH子句的。
官方解释
使用外连接运算符(+)的列不能用于SELECT列表,CONNECT BY或START WITH子句。外连接的结果应该在WHERE子句中作为表达式指定。
常见案例
例如,以下SQL语句会产生ORA-30563错误:
SELECT e.last_name, d.department_name
FROM employees e, departments d
WHERE e.department_id = d.department_id (+)
一般处理方法及步骤
要解决此问题,必须分离外连接子句,将其放在WHERE子句中,而不是SELECT子句中获取每列值。
例如,可以更新该语句,如下所示:
SELECT e.last_name, d.department_name
FROM employees e, departments d
WHERE e.department_id = d.department_id (+)
AND d.department_name = ‘IT’;
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341