加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

为什么Oracle表/列/索引名称限制为30个字符?

发布时间:2020-12-12 14:58:43 所属栏目:百科 来源:网络整理
导读:我可以理解,很多年前,会有这种限制,但现在肯定这个限制可以很容易地增加。我们有对象的命名约定,但总是有一种情况,我们达到这个极限 – 特别是在命名外键。 有人知道为什么这不是一个更大的尺寸 – 或者它是更大的11g? 显然,答案是它会打破当前没有防
我可以理解,很多年前,会有这种限制,但现在肯定这个限制可以很容易地增加。我们有对象的命名约定,但总是有一种情况,我们达到这个极限 – 特别是在命名外键。

有人知道为什么这不是一个更大的尺寸 – 或者它是更大的11g?

显然,答案是它会打破当前没有防御性编码的脚本。我说这是一个非常令人担忧的事情,Oracle正试图成为数据库,肯定这是你必须不断改进的那种事情,否则你的产品会死亡一千次的削减。

每当我在内部看到这种反对意见时,我认为是时候咬伤子弹了。如果人们运行的脚本在升级Oracle版本时没有检查或维护,那么让他们承受这种选择的后果。为他们提供一个兼容性标志,大小到4000,然后节省我浪费的时间,当我创建对象不断计数到30,以检查名称是“确定”。

我相信这是ANSI标准。

编辑:

其实,我认为这是SQL-92标准。

标准的更高版本似乎可以允许128个字符的名称,但Oracle还不支持它(或者部分支持它,因为它允许30个字符。嗯)。

在此页上搜索“F391,长标识符”… http://stanford.edu/dept/itss/docs/oracle/10g/server.101/b10759/ap_standard_sql001.htm

(寻找参考)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读