2017-06-29 60 views
0

我有這個SQL來創建一個Oracle視圖,但我遇到了這個錯誤 我已經嘗試了很多方法,沒有什麼。ORA-00972:標識符太長創建視圖

SELECT * FROM COM_Company 
WHERE NOT EXISTS 
(SELECT NULL FROM CTM_ServiceCompanySupportGrpAssoc 
WHERE CTM_ServiceCompanySupportGrpAssoc.Company = COM_Company.Company_ID); 

另一個說法是這樣的:

select dbms_xmlgen.getxml('SELECT * FROM COM_Company WHERE NOT EXISTS(SELECT NULL FROM CTM_ServiceCompanySupportGrpAssoc WHERE CTM_ServiceCompanySupportGrpAssoc.Company = COM_Company.Company_ID)') XML from dual; 

我需要一個沒有任何支持團體的所有公司。

+0

編輯你的問題,並說明你想查詢做什麼。樣本數據和期望的結果將有所幫助。根據錯誤,您沒有名爲'CTM_ServiceCompanySupportGrpAssoc'的表或視圖,因爲標識符太長。 –

+2

問題是長度爲33個字符的列名「CTM_ServiceCompanySupportGrpAssoc」。表,羣集,視圖,索引,同義詞,表空間和用戶名的名稱不得超過30個字符。您必須將這些對象的名稱縮短爲不超過30個字符。 –

回答

3

標識符最多可以包含30個字符。您使用33個字符定義標識符(CTM_ServiceCompanySupportGrpAssoc)請參閱dba-oracle

只需縮短標識符名稱的長度即可。

從甲骨文12.2它會再看到docs

+0

好吧我把Char數量減少到20,並且正在工作。謝謝 :) –