我在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