Oracle Sequence开始有疑问

时间:2011-08-23 15:57:59

标签: sql oracle sequence

我正在尝试在我的一个表中自动编号Id字段。表已有40行数据,但现在如果我自动编号id字段,我是否必须指定start为41或不?谢谢

我必须这样做吗

create sequence EMP.SEQ_ID
minvalue 1
maxvalue 99999999999999999
start with 41
increment by 1
cache 50
order;

或只有这样才能运作

create sequence EMP.SEQ_ID
minvalue 1
maxvalue 99999999999999999
increment by 1
cache 50
order;

1 个答案:

答案 0 :(得分:5)

如果您未指定START WITH,则从1开始。

因此,如果您使用此主键作为主键,并且已存在ID为1到40的行,则会失败。

PS:您可以使用:

CREATE SEQUENCE EMP.SEQ_ID
START WITH 41
NOMAXVALUE
CACHE 50;

(默认增加1)。