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

前端之家收集整理的这篇文章主要介绍了为什么Oracle表/列/索引名称限制为30个字符?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我可以理解,很多年前,会有这种限制,但现在肯定这个限制可以很容易地增加。我们有对象的命名约定,但总是有一种情况,我们达到这个极限 – 特别是在命名外键。

有人知道为什么这不是一个更大的尺寸 – 或者它是更大的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

(寻找参考)

猜你在找的Oracle相关文章