我知道有很多這樣的問題,但我的問題不是如何擺脫這個錯誤,而是知道如何在Oracle的第9版中更早地工作。Oracle:列模糊定義
我有一個用Ruby和Oracle DB編寫的舊資源,最近升級到版本= 11。
我無法編輯Oracle數據庫中的數據,只能讀取。所以有兩個表讓我們說:表A(ID,名稱,類型,客戶)和表B(ID,A_ID,類型,人)
所以。有在源代碼中的查詢:
select a.id,b.id from a join b on a.id = b.a_id where type = 'A'
所以在甲骨文9這個完美工作,但現在我已經得到了「列含糊不清」的錯誤。
我想知道的是:
where type = 'A'
相同
where a.type = 'A' AND b.type = 'A'
或
where a.type = 'A' OR b.type = 'A'
?
我真的很驚訝,它在Oracle 9中工作。該查詢應該從來沒有工作。 –
您是否將列TYPE添加到與遷移到Oracle 11相同的進程中的某個表中?或者,也許一個GRANT讓你看到了其中的一列? – Benoit
其實我不能回答這個問題,因爲我不是DBA。所以我只是不知道這個數據庫是如何遷移的( –