【发布时间】:2012-06-26 19:47:13
【问题描述】:
可能重复:
Why are Oracle table/column/index names limited to 30 characters?
在 Oracle 中编写存储过程时,我选择了一个特别具有描述性的名称,但在尝试更新脚本时,我被告知该名称太长。
37 15 PLS-00114: identifier 'blah_blah_blah_blah_blah_blah' too long
为什么对存储的过程名称有如此严格的限制?这只是 Oracle 特有的还是在其他数据库系统中很常见?
对不起duplicate
【问题讨论】:
-
在 SQL Server 中它是
128字符,因为这是sysname(系统基表中使用的数据类型)的最大长度 -
这比 Oracle 中的 30 好很多,我很快就发现了。
-
因为 Oracle 诞生于 30 个字符被认为绰绰有余的时代!毕竟,8 个字符的文件名,30 是一吨!
-
@JWiley:更好? - 我不认为一个 128 字符的存储过程名称是特别可取的。 30 看起来简洁明了。
-
@JonEgerton 直到您添加“标准”前缀、后缀等。然后你的表名有 20 个字符,如果你试图描述,你会失败。我想要一个介于我的 ORDER_LINE_ITEM 和 PRODUCT_COMPONENT_MANIFEST 表之间的多对多表......我该如何命名它? ORDER_LINE_ITEM_PRODUCT_COMPONENT_MANIFEST...当有 500 个这样命名的表时,祝您逆向工程 OLI_PCM...
标签: sql oracle stored-procedures