Oracle中表名和列名的最大长度是多少?
当前回答
更新:如上所述,在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
其他回答
更新:如上所述,在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
Oracle数据库对象名称最大长度为30字节。
对象名称规则: http://docs.oracle.com/database/121/SQLRF/sql_elements008.htm
是的,但是只要你使用ASCII字符,即使是多字节字符集也会给出恰好30个字符的限制…所以除非你想把爱心和微笑的猫放在你的DB名字里,你的罚款…
最大名称大小为30个字符,因为数据字典只允许存储30个字节
描述all_tab_columns
将显示一个TABLE_NAME VARCHAR2(30)
注意:VARCHAR2(30)表示30个字节的限制,而不是30个字符的限制,因此,如果您的数据库被配置/设置为使用多字节字符集,可能会有所不同。
Mike
推荐文章
- Oracle中表名的最大长度是多少?
- oracle中的RANK()和DENSE_RANK()函数有什么区别?
- 什么时候我需要在Oracle SQL中使用分号vs斜杠?
- 如何在Oracle SQL开发人员中找到引用给定表的表?
- 如何在Oracle SQL开发人员中设置自定义日期时间格式?
- 为什么Oracle 9i将空字符串视为NULL?
- NVL和Coalesce之间的Oracle差异
- 不可重复读和幻影读的区别是什么?
- ORA-00054:资源繁忙,指定NOWAIT或超时获取
- Oracle中的双表是什么?
- Oracle中不区分大小写的搜索
- 如何在Oracle SQL开发者中导出查询结果到csv ?
- Oracle SQL Developer多表视图
- NTFS中的最大文件名长度(Windows XP和Windows Vista)?
- 如何在Oracle中做top 1 ?