我在MySQL數據庫中有一個表。表的名稱長度超過30個字符 我想在Oracle 11g中創建同一個表,但Oracle只允許名稱中最多包含30個字符的表。
我不能改變表的名稱,使它少於30個字符,因爲系統基於這些表,並且如果我改變名稱會花費我很多,所以改變表名不是我正在尋找答案。超過30個字符的表名稱
有一個叫user_tables
表,當我描述表它說的table_name
場都有一種數據類型varchar2(30)
,所以我試圖改變表,使table_name varchar2(255)
但我不能,它給了我一個錯誤他說:
ORA-00942:表或視圖不存在
我連接爲sys
。
有誰知道如何解決我的問題?
不知道同義詞是否支持30以上的字符;但它可能是一個工作。同義詞名稱的功能最大長度是32個字節。只有Java功能才允許超過30個字節的名稱。如果指定的名稱長度超過30個字節,則Oracle數據庫將對名稱進行加密,並將加密表示置於數據字典中。實際加密不可訪問,您不能使用原始規範或數據字典表示作爲同義詞名稱。[link](http://docs.oracle.com/cd/B12037_01/server.101/b10759/statements_7001 .htm) – xQbert 2012-01-02 13:43:12
'user_tables'是數據字典的一部分,它是一組只讀表和視圖。您無法更新數據字典中的任何對象。 – eaolson 2012-01-02 14:18:21
如果你可以更新系統表,你完全不知道它可能對每個其他系統表有什麼影響。 – Ben 2012-01-02 16:17:55