@jiangquan-git<https://gitee.com/jiangquan-git> 您好,针对issue https://gitee.com/opengauss/openGauss-server/issues/I5P5CK
社区master的最新代码是修复了该core问题,目前执行该sql的结果是如下报错。
[输入图片说明]
原因是基于当前实现,prior后只能跟当前query block中表的列,而且不能跟表达式。可以考虑替换为如下sql:
SELECT *
FROM tbl_channels c
WHERE EXISTS( SELECT department_id
FROM tbl_sys_departments d, tbl_channels cc
WHERE 1= 1 and cc.channel_belong_org = d.department_id
START WITH department_id='' Connect By Prior parent_id=department_id
)
AND ROWNUM <= 1;
对于@cc_db_dev<https://gitee.com/cc_db_dev>评论的:后续有支持此语法的计划吗?oracle是支持的
答复:后续会对start with connect by语法的支持范围做一些扩展,但是prior估计有点难,这个特性是后面新增的,为了保持兼容性,prior是非保留关键字,用户自定义的表名、列名都可以用prior。
如果没有收到您其他的疑问的话我们将在本周关闭此问题单。