`

修改sequence的自增长值

阅读更多
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;
分享到:
评论
1 楼 easense2009 2012-06-21  
恩,这种方法确实比较巧妙,但是如果需求是需要把当前的Sequence改小的话就只有用第一种方法了,举个具体实例,当前sequnce为1000,需要将其改为800.个人认为Oracle应该内置一个功能可以直接更改当前Sequence值就好了,但是一般情况下Sequence还是由DBMS自动管理较好,人为可以随意更改也不见得是件好事,这可能也是Oracle为什么没有内置这样的功能的原因吧

相关推荐

    oracle自动增长列

    在Oracle数据库中,实现自动增长列的功能主要依赖于`SEQUENCE`对象。通过创建一个序列(SEQUENCE),可以方便地为表中的某列自动生成唯一的值,这对于主键或者需要唯一标识符的场景非常有用。 #### 1. SEQUENCE概述...

    设置db2 字段自增长

    通过以上介绍,可以看出DB2提供了多种方式来实现字段的自增长,包括直接使用`GENERATED ALWAYS AS IDENTITY`特性以及通过触发器和Sequence实现。选择哪种方式取决于具体的应用场景和需求。对于大多数情况来说,直接...

    Oracle sequence 重置(失效恢复)

    2. **误操作:** 如果不小心删除了Sequence,或者手动修改了Sequence的当前值,也可能导致Sequence失效。 #### 三、Sequence重置方法 下面将详细介绍如何通过SQL脚本来重置Sequence,使其恢复正常功能。 ### SQL...

    sequence等同于序列号

    #### 六、修改Sequence 要修改`sequence`的属性,需要拥有该`sequence`的所有权或者`ALTER ANY SEQUENCE`权限。可以通过`ALTER SEQUENCE`命令来调整除了`START WITH`之外的所有参数。 示例: ```sql ALTER ...

    SEQUECE唯一健值的使用

    #### 四、修改SEQUENCE 修改`SEQUENCE`需要拥有`ALTER ANY SEQUENCE`权限,或者作为`SEQUENCE`的所有者才能进行修改。可以更改序列的递增值、最大值等属性,但不能直接更改起始值。如果需要改变起始值,需要先删除...

    oracle设置主键自动增长

    如果需要修改序列的一些属性,可以使用 `ALTER SEQUENCE` 语句。 ```sql ALTER SEQUENCE emp_sequence INCREMENT BY 10 MAXVALUE 10000 CYCLE; ``` ##### 2. 删除序列 若不再需要某个序列,可以使用 `DROP SEQUENCE...

    主键生成器sequence

    - **修改序列**:通过`ALTER SEQUENCE`语句来修改序列的属性,如增量、最大值等。 ```sql ALTER SEQUENCE emp_sequence INCREMENT BY 10 MAXVALUE 10000 CYCLE; ``` 这将会改变`emp_sequence`的增量为10,设置最大...

    Oracle与Mysql自动增长列(id)的区别

    创建序列后,在插入数据时,可以使用`test_sequence.NEXTVAL`获取下一个序列值,如: ```sql INSERT INTO my_table (id) VALUES (test_sequence.NEXTVAL); ``` 若需查看当前序列值,可以使用`test_sequence....

    oracle触发器实现主键自动增长

    如果希望序列值在达到最大值后不再增长,应设置`NOCYCLE`选项。 2. **并发控制**:在高并发环境中,多个用户可能同时尝试获取序列的下一个值,这时需要考虑序列的并发控制,以避免同一值被多次分配的情况。 3. **...

    powerdesigner创建oracle_数据库表,设置表主键列为自动增长

    为了实现主键的自动增长功能,我们需要通过创建一个序列(sequence)来实现这一目标。 1. **在表视图中设置:** - 双击表视图,打开`Table Properties`对话框。 - 转到`Columns`选项卡,选择要作为主键的列。 - ...

    oracle_sequence.rar_oracle

    例如,以下语句创建了一个名为"SEQ_TEST"的递增序列,初始值为1,每次增长1: ```sql CREATE SEQUENCE SEQ_TEST START WITH 1 INCREMENT BY 1; ``` 你可以根据需求调整序列的初始值、增量、最大值和最小值等参数。 ...

    Oracle创建自增字段sequence

    修改已有的序列可以使用`ALTER SEQUENCE`命令,删除序列则使用`DROP SEQUENCE`命令。例如,要更改序列的增量,可以执行: ```sql ALTER SEQUENCE emp_sequence INCREMENT BY 2; ``` 要删除序列: ```sql DROP ...

    Oracle使用序列创建自增字段

    需要注意的是,并非所有序列属性都可以被修改,例如起始值不能直接修改,若需改变起始值,则需要先删除序列再重新创建。 以下是一个修改 `SEQ_EMP` 序列的例子: ```sql ALTER SEQUENCE SEQ_EMP INCREMENT BY 10 ...

    oracle 不用新建序列 重置序列(从1开始增长)

    3. **修改序列的`INCREMENT BY`属性**:使用`ALTER SEQUENCE`语句将序列的`INCREMENT BY`属性修改为我们计算出的增量。 4. **再次获取序列的下一个值**:执行`SELECT sequence_name.NEXTVAL FROM DUAL`,这将使序列...

    java 为php写的自增序号服务

    开发者可以通过修改这个文件来调整服务的行为,以适应不同的需求。 `start.sh`和`stop.sh`是Linux shell脚本,分别用于启动和停止Java服务。`start.sh`可能包含启动Java应用的命令,如`java -jar sequence.jar`,而...

    JavaWeb基础复习知识文档

    例如,创建一个名为 seq_user 的序列,起始值为 1,增长值为 1,最大值为 10,最小值为 1: ```sql create sequence seq_user start with 1 increment by 1 maxvalue 10 minvalue 1; ``` 使用序列生成主键值时,可以...

    identity:用于MySql数据库

    在Oracle数据库中,使用`sequence`来实现自增长功能。例如: ```xml <generator class="sequence"> <param name="sequence">your_sequence_name ``` 这里定义了一个名为`your_sequence_name`的序列,每当...

    MySQL转换Oracle的需要注意的七个事项

    下面总结出MySQL转换Oracle的几点注意事项,希望对大家有所帮助。 1.自动增长的数据类型处理 MySQL有自动增长的... 其中最大的值按字段的长度来定, 如果定义的自动增长的序列号 NUMBER(6) , 最大值为999999 INSERT 语

    求Fibonacci数列问题,本程序中只求20个数,可以自己修改。

    斐波那契数列(Fibonacci Sequence)是数学领域中的一个重要概念,它在计算机科学,尤其是算法设计中有着广泛的应用。斐波那契数列的定义是:第一项F0为0,第二项F1为1,之后的每一项Fi(i>1)都是前两项的和,即Fi ...

    PostgreSQL AUTO INCREMENT(自动增长)

    如果需要修改序列的属性,如初始值、递增值等,可以使用`ALTER SEQUENCE`命令。序列也可以手动重置,但需谨慎操作,以避免数据冲突。总的来说,PostgreSQL的序列机制为开发者提供了方便的自动编号功能,确保了数据的...

Global site tag (gtag.js) - Google Analytics