`

如何修改序列(Sequence)的初始值(START WITH)

 
阅读更多

Oracle 序列(Sequence)主要用于生成流水号,Oracle EBS系统中是经常用到的。但是,有时需要修改序列初始值(START WITH)时,好多人凭感觉认为:Alter Sequence SequenceName Start With N。事实上,在Oracle Db中,修改序列没有这样的语法。没有这样的语法情况怎么办,有二种方法可以完成

1.先删除序列,然后重新创建。不过这不是当前要讲的重点。这个方法比较方便。

2.通过Increment By来实现修改初始值。

例如:若序列名称是SeqTest2010_S,初始值是13,而现在要设置初始值为1020,Increment By值为:1007(1020-13)

2.1 执行:Alter Sequence SeqTest2010_S Increment By 1007;

2.2 执行:Select SeqTest2010_S.NextVal From Dual;

2.3 执行:Alter Sequence SeqTest2010_S Increment By 1;

修改完成。简单吧

 

转自:http://blog.csdn.net/chenxianping/article/details/5811117

分享到:
评论

相关推荐

    批量修改Oracle序列值的存储过程

    这里,`seq_name`是序列名,`START WITH`指定初始值,`INCREMENT BY`设置每次自增的数值,`MINVALUE`和`MAXVALUE`设定序列值的上下限,`CYCLE`选项表示当序列值超出范围时重新开始。 批量修改序列值通常涉及到ALTER...

    Oracle sequence 重置(失效恢复)

    EXECUTE IMMEDIATE 'CREATE SEQUENCE ' || cur.sequence_name || ' START WITH ' || max1; END LOOP; END; / ``` 此块的功能是: - 遍历所有与主键约束关联的Sequence; - 调用`func_getseq`函数获取每个表的最大...

    oracle中的sequence实现主键增长

    - 第一次使用`NEXTVAL`时,返回的是`START WITH`指定的初始值,之后每次调用都会自动增加`INCREMENT BY`的值。 - `CURRVAL`在首次调用`NEXTVAL`之后才能使用,否则会导致`ORA-08004: CURRVAL of sequence 'seq_...

    oracle中sequence介绍及应用

    创建一个名为`SEQ_TEST`的序列,初始值为1,每次递增1,无最大值限制,不循环,不缓存。 ```sql CREATE SEQUENCE SEQ_TEST MINVALUE 1 NOMAXVALUE START WITH 1 INCREMENT BY 1 NOCYCLE NOCACHE; ``` #### 三、...

    oracle中用序列实现自动增长值

    - `START WITH` 指定序列的初始值。 - `INCREMENT BY` 设置每次生成新值时增加的数值。 - `MINVALUE` 和 `MAXVALUE` 定义了序列值的范围。 - `CYCLE` 表示当达到最大值时,序列会重新从最小值开始;`NOCYCLE` 则表示...

    sequence等同于序列号

    1. **第一次NEXTVAL**:首次调用`NEXTVAL`返回初始值;之后的调用会根据定义的`INCREMENT BY`值递增并返回新值。 2. **CURRVAL的使用**:必须先调用一次`NEXTVAL`才能使用`CURRVAL`,否则会出错。 3. **CACHE的影响*...

    轻松掌握oracle数据库开发中序列的使用

    - `START WITH n` 指定序列的初始值,默认值取决于`MINVALUE`和`MAXVALUE`的设置。 - `MAXVALUE n` 设置序列的最大值,`NOMAXVALUE`表示无最大值限制(升序时默认为1027,降序时为-1)。 - `MINVALUE n` 设置序列...

    ORACLE的序列

    - **START WITH**:设定序列的初始值,默认为1。 - **MAXVALUE / MINVALUE**:设定序列的最大或最小值。若未设定,则递增序列默认最大值为10的27次方,递减序列默认最小值为-10的26次方。 - **CYCLE / NOCYCLE**:...

    ORACLE SEQUENCE的简单介绍

    1. **首次 NEXTVAL 的值**:首次调用 `NEXTVAL` 会返回序列的初始值。 2. **CURRVAL 的使用**:必须先调用 `NEXTVAL` 才能使用 `CURRVAL`。 3. **多次 NEXTVAL**:在同一语句中多次调用 `NEXTVAL` 会得到不同的值。 ...

    oracle自增序列

    - 起始值(`START WITH`)设置为1,即序列的初始值是1。 - 增量(`INCREMENT BY`)设置为1,表示序列的每个新值比前一个值多1。 - 缓存大小(`CACHE`)设置为20,意味着数据库服务器将预先分配20个序列值并将其缓存...

    Oracle数据库操作序列的一些常用命令

    `START WITH 1495`则指定了序列的初始值为1495。可以根据具体需求调整这些参数。 #### 二、查看序列信息(Query Sequence Information) 在Oracle数据库中,可以通过查询`USER_SEQUENCES`视图来获取关于序列的详细...

    Oracle数据库中序列的使用

    假设我们需要创建一个名为`EXAM_NO_SEQ`的序列,其初始值为1484,最大值为9999999999,最小值为1,并且当达到最大值后会循环回到最小值。此外,为了提高性能,我们还设置了缓存大小为20,不指定顺序: ```sql ...

    oracle 主键自增 sequence

    - **START WITH**:指定 `Sequence` 的初始值。 - **NOMAXVALUE**:表示 `Sequence` 可以生成的最大值是无穷大。 - **NOCYCLE**:表示 `Sequence` 的值达到最大或最小后不会循环。 - **NOCACHE**:表示不缓存 `...

    主键生成器sequence

    START WITH 1 -- 序列的初始值 NOMAXVALUE -- 没有最大值限制 NOCYCLE -- 达到最大值后不再循环 CACHE 10; -- 缓存10个值 ``` 在这个例子中,`emp_sequence`是一个序列,每次调用`NEXTVAL`时,它的值会自动增加1,...

    oracle_sequence.rar_oracle

    你可以根据需求调整序列的初始值、增量、最大值和最小值等参数。 三、使用Oracle序列 1. 在SQL插入语句中使用NEXTVAL 在插入新记录时,可以直接引用序列的NEXTVAL,它会返回序列的下一个值。例如: ```sql INSERT ...

    Oracle数据库表序列ID自增生成器

    - `start_value`:序列的初始值。 - `increment_value`:每次递增的值。 - `min_value` 和 `max_value`:设定序列值的范围。 - `CYCLE` 或 `NOCYCLE`:当达到最大值时是否重新开始(循环)或停止(不循环)。 - `...

    oracle的序列

    - **START WITH n**:指定序列起始值,默认为1。 - **MINVALUE n** / **MAXVALUE n**:设置序列可生成的最小值和最大值。 - **CYCLE** | **NOCYCLE**:当序列达到最大值后是否循环,默认为NOCYCLE,即达到最大值后...

    2023最新oracle面试题

    START WITH 1 -- 指定序列的初始值 INCREMENT BY 1 -- 指定每次递增的数值,这里为1 MINVALUE 1 -- 可选,设置序列的最小值 MAXVALUE 9999999999 -- 可选,设置序列的最大值 NOCYCLE -- 可选,当达到最大值时不...

    oracle序列和触发器的建立

    这条语句创建了一个名为“TEST_SEQUENCE”的序列,该序列的初始值为1,每次递增1,无最大值限制,并且不进行循环。同时,它没有缓存任何值,因此每次调用时都会直接从数据库中获取下一个可用的序列值。 #### 触发器...

    11.Oracle序列生成器1

    5. start with:序列的初始值,默认为minvalue。 6. cache:缓存大小,默认为20,表示一次生成并缓存20个值,提高性能。 7. order/noorder:是否保证按顺序分配值,noorder默认,多用户并发时可能不按顺序。 8. ...

Global site tag (gtag.js) - Google Analytics