`

Oracle 动态设置SEQUENCE startwith 的值

阅读更多

Oracle 动态设置SEQUENCE startwith 的值

具体脚本如下:

DECLARE
s_ID NUMBER ;
BEGIN
s_ID :=1000;
SELECT MAX(schedule_id)+1 INTO s_ID  FROM tableName;
EXECUTE immediate 'CREATE SEQUENCE  SEQ_1  MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH '||s_ID||' NOCACHE  NOORDER  NOCYCLE';
END;

如果SEQUENCE 已存在,可以在SQL中增加drop语句



分享到:
评论

相关推荐

    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创建自增字段方法-ORACLE SEQUENCE的简单介绍

    其中,sequence_name 是 SEQUENCE 的名称,increment 是每次增加的值,start_value 是起始值,max_value 是最大值,cache_size 是缓存大小。 例如,创建一个名为 S_S_DEPART 的 SEQUENCE,初始值为 1,增加值为 1,...

    oracle 主键自增 sequence

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

    oracle中sequence介绍及应用

    除起始值`start WITH`外,其他所有属性都可以通过`ALTER SEQUENCE`命令进行修改。 ```sql ALTER SEQUENCE [increment BY n] [minvalue n | nomaxvalue] [maxvalue n | nomaxvalue] [cache n | nocache] [cycle | ...

    ORACLE SEQUENCE的简单介绍

    `ALTER SEQUENCE` 可以修改除 `START WITH` 之外的所有参数。例如: ```sql ALTER SEQUENCE emp_sequence INCREMENT BY 10 MAXVALUE 10000 CYCLE -- 到达最大值后从头开始 NOCACHE; ``` #### 六、影响 Sequence 的...

    浅谈MyBatis-Plus学习之Oracle的主键Sequence设置的方法

    首先,Oracle Sequence是Oracle数据库提供的一种序列号生成器,它能够按照预设的步长和起始值生成唯一的数字,常用于生成主键值。在创建表时,我们并不会直接在表定义中指定主键自增,而是先创建一个Sequence,然后...

    使用JDeveloper开发WEB应用时同时使用Oracle的sequence和trigger

    编写类似`CREATE SEQUENCE seq_name START WITH 1 INCREMENT BY 1`的SQL语句,然后运行它来创建sequence。 2. **使用Sequence**:在实体类或者DAO层,你可以通过调用数据库的序列函数(如`seq_name.nextval`)来...

    oracle 存储过程使用 sequence

    START WITH 1 INCREMENT BY 1 MINVALUE 1 NOMAXVALUE NOCYCLE; ``` 接下来,我们将在存储过程中使用这个Sequence。存储过程是由一系列PL/SQL语句组成的,可以有输入参数、输出参数或者两者都有。在过程中调用...

    oracle_sequence.rar_oracle

    1. 预缓存:Oracle允许设置序列的预缓存值,即一次性从数据库中获取多个值,减少磁盘I/O。例如,`CACHE 100`表示预缓存100个值。 2. ORDER选项:默认情况下,Oracle序列是非有序的,这意味着并发环境中可能会出现...

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

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

    让CoolSQL支持Oracle Sequence的GeneratedKey,懂的入

    START WITH 1 INCREMENT BY 1 NOCACHE; ``` 接下来,我们讨论CoolSQL,这是一个方便的数据库管理工具,可以帮助开发者进行数据的增删改查以及数据库设计等工作。然而,原生的CoolSQL可能并不直接支持Oracle ...

    oracle数据库字段值自动加1

    Oracle 数据库字段值自动加 1 Oracle 数据库中,字段值自动加 1 是一个常见的需求,特别是在数据插入时需要自动生成唯一标识符的情况下。下面将详细介绍如何实现 Oracle 数据库字段值自动加 1。 首先,需要创建一...

    分享ORACLE SEQUENCE跳号总结

    在ORACLE数据库中,序列(SEQUENCE)是使用非常频繁的一个数据库对象,但是有时候会遇到序列(SEQUECNE)跳号(skip sequence numbers)的情形,那么在哪些情形下会遇到跳号呢?  事务回滚引起的跳号  不管序列有...

    详解ORACLE SEQUENCE用法

    在oracle中sequence就是序号,每次取的时候它会自动增加。sequence与表没有关系。 1、Create Sequence 首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE权限。 创建语句如下: CREATE SEQUENCE seqTest INCREMENT...

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

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

    oracle中设置自增主键参考

    - `START WITH 1`:指定序列的起始值为1。 - `NOMAXVALUE`:表示该序列没有最大值限制,可以无限递增。 - `NOCYCLE`:当序列达到最大或最小值后不会循环重置。 - `NOCACHE`:禁用缓存机制,每次获取序列值时都直接从...

    sequence等同于序列号

    在Oracle数据库中,`sequence`机制是一种自动生成唯一数值序列的方法,常用于为主键字段提供连续的整数值。它类似于其他数据库系统中的自动增长字段,但在Oracle中更加灵活可控。本文将详细介绍`sequence`的基本概念...

    oracle自动增长列

    - 应谨慎设置`MAXVALUE`,防止序列溢出导致无法生成新的唯一值。 #### 6. 示例与实践 假设有一个`employees`表,需要为该表的`emp_id`字段生成唯一的ID值,可以按以下步骤进行: 1. **创建序列**: ```sql ...

Global site tag (gtag.js) - Google Analytics