Oracle中表名和列名的最大长度是多少?


当前回答

模式对象命名规则也可能有一些用处:

http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/sql_elements008.htm#sthref723

其他回答

描述all_tab_columns

将显示一个TABLE_NAME VARCHAR2(30)

注意:VARCHAR2(30)表示30个字节的限制,而不是30个字符的限制,因此,如果您的数据库被配置/设置为使用多字节字符集,可能会有所不同。

Mike

在我正在处理的10g数据库中,我知道表名最多只能有30个字符。不能告诉你列名的长度是多少(但我知道它是> 30)。

模式对象命名规则也可能有一些用处:

http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/sql_elements008.htm#sthref723

在Oracle 12.2及以上版本中,最大对象名称长度为128字节。

在Oracle 12.1及以下版本中,最大对象名称长度为30字节。

我正在使用Oracle 12c 12.1。但是,它似乎不允许列/表名超过30个字符。

阅读一个oracle页面,其中提到30个字节。 https://docs.oracle.com/database/121/SQLRF/sql_elements008.htm#SQLRF00223

在12c中,尽管all_tab_columns对Table_Name表示VARCHAR2(128),但它不允许超过30个字节的名称。

找到另一篇关于12c R2的文章,它似乎允许最多128个字符。 https://community.oracle.com/ideas/3338