Oracle10g 在oracle中获取connect by子句的奇怪错误

Oracle10g 在oracle中获取connect by子句的奇怪错误,oracle10g,Oracle10g,我有两个测试oracle数据库,每个数据库都包含一个名为department(dept_no、dept_name、main_dept_no)的表,其中每个部门条目都通过main_dept_no列中的dept_no连接到main department。 奇怪的问题是,当我在我得到的第一个数据库上执行查询时,DEPT_NO不可用列(department表中的D.*所有列),但它在那里,更奇怪的是,此查询在第二个数据库上运行良好 数据库中是否有任何必须进行的设置,以便可以使用connect by子句

我有两个测试oracle数据库,每个数据库都包含一个名为department(dept_no、dept_name、main_dept_no)的表,其中每个部门条目都通过main_dept_no列中的dept_no连接到main department。 奇怪的问题是,当我在我得到的第一个数据库上执行查询时,DEPT_NO不可用列(department表中的D.*所有列),但它在那里,更奇怪的是,此查询在第二个数据库上运行良好

数据库中是否有任何必须进行的设置,以便可以使用connect by子句

SELECT SUBSTR(LPAD(' ', 4*(LEVEL))  || '· ' ||DEPT_NAME,1,50)  DEPT_NAME_HY, D.*
FROM PERSONEL.DEPARTMENT D
START WITH MAIN_DEPT_NO IS NULL
CONNECT BY PRIOR DEPT_NO=MAIN_DEPT_NO

谢谢。

为了解决这个问题,我做了如下操作:

SELECT SUBSTR(LPAD(' ', 4*(LEVEL))  || '· ' ||DEPT_NAME,1,50)  DEPT_NAME_HY, D.DEPT_NO,D.DEPT_NAME,D.MAIN_DEPT_NO  
FROM PERSONEL.DEPARTMENT D
START WITH MAIN_DEPT_NO IS NULL
CONNECT BY PRIOR DEPT_NO=MAIN_DEPT_NO

查询可能在oracle 11g D*中开始工作,以便以这种方式使用connect by。下面的代码修复了该问题。 11.2.0.1版本中似乎存在缺陷,解决方法是:
alter session set optimizer_features_enable='11.1.0.7';(来自Oracle支持)

下面的代码修复了该问题。在11.2.0.1版本中似乎有一个bug,解决方法是:altersessionsetoptimizer_features_enable='11.1.0.7';(来自Oracle支持)