0

私は2つのテストOracleデータベースを持っており、それぞれに部門(dept_no、dept_name、main_dept_no)というテーブルが含まれており、各部門エントリはMAIN_DEPT_NO列のdept_noによってメイン部門に接続されています。奇妙な問題は、最初のデータベースでクエリを実行すると、D.DEPT_NO is not available column (D.* department テーブルのすべての列) が表示されることですが、そこにあり、さらに奇妙なことに、このクエリは 2 番目のデータベースで正常に動作します。 .

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

ありがとうございました。

4

2 に答える 2

0

問題を解決するために、次のようにしました。

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.* で機能し始め、このように叫んで接続を操作しました。

于 2012-11-01T10:38:08.833 に答える
0

以下のコードは問題を修正します。11.2.0.1 リリースにはバグがあるようです。回避策は次のとおりです。(オラクルのサポートから)

于 2012-11-05T06:04:39.987 に答える