5

我正在使用 Oracle 10g 维护一个数据库,并且我希望有一个从 1 开始并随着每行增加 1 的序列。

为了实现这一点,我创建了以下语句:

CREATE SEQUENCE PATIENTS_SEQ START WITH 1 INCREMENT BY 1 NOMINVALUE NOCACHE NOCYCLE;

但是,在将第一个条目插入到具有值 (PATIENTS_SEQ.NEXTVAL) 的表中时,计数从 2 而不是 1 开始。如果我将序列修改为从 0 开始,则会收到一个错误,即以值开头的值不能小于比最小值。谁能帮助解决如何让我的计数从 1 开始正确开始?

4

1 回答 1

16

只需将最小值也设置为 0:

CREATE SEQUENCE PATIENTS_SEQ 
  START WITH 0 
  INCREMENT BY 1 
  MINVALUE 0 
  NOCACHE 
  NOCYCLE;
于 2013-03-15T17:46:21.527 回答