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


当前回答

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

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

其他回答

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

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

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

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

最大名称大小为30个字符,因为数据字典只允许存储30个字节

更新:如上所述,在Oracle 12.2和更高版本中,最大对象名称长度现在是128字节。

这篇文章的其余部分适用于Oracle 12.1及以下:限制是30个字符(实际上是字节)。

但不要相信我的话;请自己试试(在Oracle 12.1或以下版本):

SQL> create table I23456789012345678901234567890 (my_id number);

Table created.



SQL> create table I234567890123456789012345678901(my_id number);


ERROR at line 1:

ORA-00972: identifier is too long