【发布时间】:2014-08-30 20:44:39
【问题描述】:
我正在使用序列在 Oracle 中生成自动增量 ID。而且我有一个触发器可以在每次插入之前从序列中提取数字。
CREATE SEQUENCE "my_SEQ" MINVALUE 1 MAXVALUE 9999999999 INCREMENT BY 1 START WITH 1 CACHE 5000 NOORDER NOCYCLE;
我发现缺少 5000 个(与缓存相同)号码。例如,我的第一次尝试给了我 id 1,当我稍后回来时,第二次插入生成的 id 为 5001。Oracle 文档说“如果发生系统故障,所有未在提交的 DML 语句中使用的缓存序列值都是迷路了。” 谁能解释这里发生了什么?提前致谢。
【问题讨论】:
标签: oracle auto-increment