Oracle中表名和列名的最大长度是多少?
当前回答
在Oracle 12.2及以上版本中,最大对象名称长度为128字节。
在Oracle 12.1及以下版本中,最大对象名称长度为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
模式对象命名规则也可能有一些用处:
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
是的,但是只要你使用ASCII字符,即使是多字节字符集也会给出恰好30个字符的限制…所以除非你想把爱心和微笑的猫放在你的DB名字里,你的罚款…
Oracle数据库对象名称最大长度为30字节。
对象名称规则: http://docs.oracle.com/database/121/SQLRF/sql_elements008.htm
推荐文章
- ORA-12505, TNS:监听器当前不知道连接描述符中给定的SID
- SQL在Oracle中连接多行列值的查询
- GROUP BY with MAX(DATE)
- 如何从Oracle的表中获取列名?
- 数据库性能调优有哪些资源?
- Oracle中表名的最大长度是多少?
- oracle中的RANK()和DENSE_RANK()函数有什么区别?
- 什么时候我需要在Oracle SQL中使用分号vs斜杠?
- 如何在Oracle SQL开发人员中找到引用给定表的表?
- 如何在Oracle SQL开发人员中设置自定义日期时间格式?
- 为什么Oracle 9i将空字符串视为NULL?
- NVL和Coalesce之间的Oracle差异
- 不可重复读和幻影读的区别是什么?
- ORA-00054:资源繁忙,指定NOWAIT或超时获取
- Oracle中的双表是什么?