`
yutianc
  • 浏览: 20705 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

如何设置Oracle Sequence 的值

 
阅读更多
写道
CREATE SEQUENCE gokhan.sample_seq START WITH 1000;

SELECT last_number
FROM user_sequences
WHERE sequence_name = 'SAMPLE_SEQ';

LAST_NUMBER
-----------
1000

ALTER SEQUENCE gokhan.sample_seq INCREMENT BY -500;
SELECT gokhan.sample_seq.NEXTVAL FROM dual;
ALTER SEQUENCE gokhan.sample_seq INCREMENT BY 1;

SELECT last_number
FROM user_sequences
WHERE sequence_name = 'SAMPLE_SEQ';

LAST_NUMBER
-----------
500
CREATE OR REPLACE PROCEDURE SYS.SEQUENCE_NEWVALUE(
seqowner VARCHAR2,
seqname VARCHAR2,
newvalue NUMBER) AS
ln NUMBER;
ib NUMBER;
BEGIN
SELECT last_number, increment_by
INTO ln, ib
FROM dba_sequences
WHERE sequence_owner = upper(seqowner)
AND sequence_name = upper(seqname);
EXECUTE IMMEDIATE 'ALTER SEQUENCE ' || seqowner || '.' || seqname ||
' INCREMENT BY ' || (newvalue - ln);
EXECUTE IMMEDIATE 'SELECT ' || seqowner || '.' || seqname ||
'.NEXTVAL FROM DUAL' INTO ln;
EXECUTE IMMEDIATE 'ALTER SEQUENCE ' || seqowner || '.' || seqname 
|| ' INCREMENT BY ' || ib;
END;
 
GRANT EXECUTE ON sequence_newvalue TO gokhan;
 
EXEC sequence_newvalue( 'GOKHAN', 'SAMPLE_SEQ', 10000 );
 
分享到:
评论

相关推荐

    Oracle sequence 重置(失效恢复)

    - 创建新的Sequence,并将其起始值设置为主键的最大值。 ### 总结 通过以上步骤,我们可以有效地解决Oracle数据库中Sequence失效的问题。需要注意的是,在实际应用中,建议先在测试环境中验证脚本的正确性,然后再...

    Oracle创建自增字段方法-ORACLE SEQUENCE的简单介绍

    * 如果指定 CACHE 值,ORACLE 就可以预先在内存里面放置一些 SEQUENCE,这样存取的快些。但是,使用 CACHE 可能会跳号,例如数据库突然不正常 down 掉。 Oracle SEQUENCE 是一种灵活而强大的功能,可以满足各种需要...

    oracle中sequence介绍及应用

    ### Oracle中的Sequence介绍及应用 #### 一、Sequence概述 在Oracle数据库中,Sequence是一种用于自动产生数值序列的对象。它可以生成连续的整数或者非连续的整数序列,并且可以根据需求进行递增或递减。Sequence...

    ORACLE SEQUENCE的简单介绍

    ### ORACLE SEQUENCE 的详细介绍与应用 #### 一、概述 在数据库开发和管理中,自动编号是一项常用的功能。在 SQL Server 中,我们可以通过自增字段来实现这一功能。而在 Oracle 数据库中,则使用了一个名为 **...

    oracle中的sequence实现主键增长

    Oracle中的Sequence是数据库管理系统提供的一种机制,用于生成序列化的整数,通常用于主键或唯一标识符,确保数据的唯一性和有序性。在Oracle中,Sequence不同于其他数据库系统的自增字段,例如SQL Server中的`...

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

    在插入数据前,先执行`SELECT USER_SEQ.NEXTVAL FROM DUAL`获取Sequence的下一个值,然后将这个值设置为主键字段。 4. **第三方库集成**:如果你的项目已经使用了如MyBatis、Hibernate这样的ORM框架,它们通常已经...

    oracle GoldenGate 同步oracle sequence的步骤

    ### Oracle GoldenGate 同步 Oracle Sequence 的步骤 Oracle GoldenGate 是一款强大的数据复制软件,能够实现跨平台的数据复制。在企业级应用环境中,为了确保数据的一致性和完整性,经常需要将源数据库中的序列...

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

    例如,通过设置`CACHE 50`可以缓存一定数量的sequence值,减少对数据库的频繁访问。 7. **安全性与维护**:确保sequence和trigger的权限设置合理,防止未授权的访问和修改。定期审查和优化这些对象,以适应业务的...

    oracle 主键自增 sequence

    - **CACHE**:如果指定了 `CACHE` 关键字并设置了缓存大小(例如 `CACHE 10`),则 Oracle 会预先分配一组序列值,并将它们存储在内存中。这样做可以提高性能,但若发生意外,可能会导致序列值不连续。 - **CYCLE**...

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

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

    详解ORACLE SEQUENCE用法

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

    分享ORACLE SEQUENCE跳号总结

    在Oracle数据库中,序列(SEQUENCE)是一种特殊的数据类型,用于生成唯一且递增的整数值,常用于主键生成或其他需要唯一标识的场景。然而,有时会出现序列跳号(skip sequence numbers)的情况,即序列值没有按照...

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

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

    oracle数据库字段值自动加1

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

    oracle_sequence.rar_oracle

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

    oracle 存储过程使用 sequence

    Oracle提供了`CACHE`选项来缓存Sequence值,提高性能,但可能会导致序列号不连续。如果不使用`CACHE`,每次请求都会从数据库获取新的值,保证了序列的唯一性但可能降低性能。 在提供的压缩包文件`07_调整级别示例...

    oracle自动增长列

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

    sequence-generator:比oracle sequence更加强大的序列生成器,支持分布式环境,配合MHA可完美做到高可用,与spring无缝集成,使用非常简单可靠

    sequence-generator简介类似于oracle的sequence,但更加强大支持分布式环境下sequence的生成使用乐观锁和AtomicLong确保sequence的唯一性使用及其简单db scriptCREATE TABLE sequence_database.sequence ( name ...

    Hibernate Oracle sequence的使用技巧

    在Oracle数据库环境下,当需要为表创建自动增长的主键时,通常会使用Oracle的sequence机制。本文将详细介绍如何在Hibernate中使用Oracle sequence,以及在使用过程中应注意的一些事项。 首先,我们来看如何为不同的...

Global site tag (gtag.js) - Google Analytics