有人可以启发为什么oracle不支持主键的自动增量功能?
我知道在序列和触发器的帮助下可以实现相同的功能,但是为什么oracle没有引入将在内部创建序列和触发器的autoincrement关键字.我打赌在oracle的人肯定会考虑这个.必须有一些理由不提供这个功能.有什么想法吗?
它可能只是术语.
‘AUTOINCREMENT’表示记录“102”和“104”之间将创建该记录“103”.在集群环境中,序列不一定是这种情况.一个节点可以插入“100”,“101”,“102”,而另一个节点插入“110”,“111”,“112”,因此记录“无序”. [当然,’序列’一词具有相同的含义.
原文链接:https://www.f2er.com/oracle/205510.html‘AUTOINCREMENT’表示记录“102”和“104”之间将创建该记录“103”.在集群环境中,序列不一定是这种情况.一个节点可以插入“100”,“101”,“102”,而另一个节点插入“110”,“111”,“112”,因此记录“无序”. [当然,’序列’一词具有相同的含义.
如果您选择不遵循序列模型,则会引入锁定和序列化问题.在确定下一个值之前,您是否强制插入等待另一个插入的提交/回滚,或者如果事务回滚,则您将获得键的空白.
然后,如果有人想要在表中插入一个具有该字段的特定值的行(例如,它是允许的,还是像DEFAULT一样工作)或者有人尝试更新它,那么就会遇到什么问题.如果有人插入’101′,自动增量“跳转”到“102”还是冒着尝试重复的值.
它可以影响其IMP实用程序和直接路径写入以及向后兼容性.
我不是说不能完成.但我怀疑最终有人看过它,并决定他们可以在其他地方更好的开发时间.