2012-10-31 25 views
0

我有一個2測試Oracle數據庫和每個都包含其中,每個部門條目在MAIN_DEPT_NO柱連接到主科由DEPT_NO的表稱爲部門(DEPT_NO,DEPT_NAME,main_dept_no) 。 奇怪的問題是,當我執行1個數據庫查詢,我得到D.DEPT_NO不可柱(D. *從部門表中的所有列),但它是存在的,什麼是更奇怪這個查詢工作正常2次數據庫。獲得奇怪的錯誤與CONNECT BY子句中的Oracle

有我在數據庫中有這樣做的,它可以通過子句連接工作的任何設置?

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 

謝謝。

回答

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. *也許致力於通過與呼喊連接的工作是這樣的。

+0

下面的代碼解決了這個問題。在11.2.0.1版本中似乎存在一個錯誤,解決方法是:alter session set optimizer_features_enable = '11 .1.0.7'; (來自Oracle支持) – Shahriar

0

下面的代碼解決了這個問題。 似乎是在11.2.0.1版本的一個bug,解決方法是: ALTER會議設置OPTIMIZER_FEATURES_ENABLE = '11 .1.0.7' ; (來自Oracle支持)