`
yutianc
  • 浏览: 19850 次
  • 性别: 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 重置(失效恢复)

    在Oracle数据库移植过程中,sequence可能失效,本资源可使失效的sequence重新恢复作用

    详解ORACLE SEQUENCE用法

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

    oracle 主键自增 sequence

    以上代码完成了一个序列(sequence)的建立过程,名称为emp_sequence,范围是从1开始到无限大(无限大的程度是由你机器决定的),nocycle 是决定不循环,如果你设置了最大值那么你可以用cycle 会使seq到最大之后循环....

    oracle 存储过程使用 sequence

    NULL 博文链接:https://snowelf.iteye.com/blog/575555

    sequence等同于序列号

    在Oracle数据库中,sequence等同于序列号,每次取的时候sequence会自动增加,一般会作用于需要按序列号排序的地方。 1、Create Sequence (注释:你需要有CREATE SEQUENCE或CREATE ANY SEQUENCE权限) CREATE ...

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

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

    Oracle创建自增字段sequence

    Oracle中没有sqlserver中那么方便的自增序列,如果想要达到sqlserver中那种效果,也不是很麻烦,需要创建一个自增序列SEQUENCE,然后建一个触发器即可。  CREATE SEQUENCE emp_sequence  INCREMENT BY 1 — ...

    sqlserver实现oracle的sequence方法

    但是这样的列如果要实现“YYYYMMDD”+Sequence值 (例如:2008072400001)的格式就不行了。还是老老实实用存储过程来取得一个Sequence值吧,使用起来也就随心所欲了。 网上常见的一个存储过程为 为当前库所有用到...

    oracle 实际值超过数据库某个字段指定长度报错解决

    常见的场景是oracle sequence自动增长,系统用到一定的时候,sequence的值不断的增大,系统开始报错。 解决方法:更改字段的长度解决 您可能感兴趣的文章:Oracle+Mybatis的foreach insert批量插入报错的快速解决...

    oracle设置主键自动增长

     以上代码完成了一个序列(sequence)的建立过程,名称为emp_sequence,范围是从1开始到无限大(无限大的程度是由你机器决定的),nocycle 是决定不循环,假如你设置了最大值那么你可以用cycle 会使seq到最大之后循环....

    oracle基础教程

    1.3.7 序列(Sequence) 19 1.3.8 数据库链(Database Link) 20 第2章 管理ORACLE数据库 21 2.1 基本概念 21 2.1.1 数据字典 21 2.1.2 事务管理 23 2.1.3 数据库管理员(DBA) 24 2.1.4 ORACLE的四种状态 25 2.2 SQL*...

    MySQL实现类似Oracle序列的方案

    Oracle一般使用序列(Sequence)来处理主键字段,而MySQL则提供了自增长(increment)来实现类似的目的; 但在实际使用过程中发现,MySQL的自增长有诸多的弊端:不能控制步长、开始索引、是否循环等;若需要迁移数据库,...

    oracle迁移mysql自增序列问题

    今天从oracle迁移数据到mysql碰到个需求:原先的主键字段需要改成mysql中的自增字段,而且原先数据的值不能变,以后新插入的值从原先数据最大的值开始自增。 解决办法: 构建环境: mysql> CREATE TABLE test -> ( ...

    oracle数据库主键自增并且返回主键值

    create sequence seq_users ##创建序列seq_users increment by 1 ## 步长,每次加1 start with 1 ##从1开始 minvalue 1 ##最小值 maxvalue 9999999 ##最大值 order ##确保按照请求次序生成整数 【不常用的设置】....

    最全的oracle常用命令大全.txt

    ORACLE常用命令 一、ORACLE的启动和关闭 1、在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a、启动ORACLE系统 oracle>svrmgrl SVRMGR>connect internal SVRMGR>startup ...

    Oracle数据库、SQL

    17.7 Oracle的锁机制 36 17.8事务不提交的后果 36 17.9回滚事务rollback 36 17.10保留点savepoint 36 十八、 数据库对象:视图view 37 18.1带子查询的create table 37 18.2带子查询的insert 37 18.3定义缺省值:...

    ORACLE数据库基础知识-华为维护资料

    3.18 如何设置ORACLE PARALLEL SERVER 49 3.18.1 HOSTS文件 50 3.18.2 OGMS的LST文件 51 3.18.3 LISTENER.ORA文件 51 3.18.4 INITORA8.ORA文件 52 第4章 常见问题处理 54 4.1 增大Processes参数后数据库不能启动 54 ...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

     删除环境变量中的PATHT CLASSPATH中包含Oracle的值。  删除“开始”/“程序”中所有Oracle的组和图标。  删除所有与Oracle相关的目录,包括: C:\Program file\Oracle目录。 ORACLE_BASE目录。 C:\Documents ...

    jfsky.com-Oracle数据库基础知识

    1.3.7 序列(Sequence) 19 1.3.8 数据库链(Database Link) 20 第2章 管理ORACLE数据库 21 2.1 基本概念 21 2.1.1 数据字典 21 2.1.2 事务管理 23 2.1.3 数据库管理员(DBA) 24 2.1.4 ORACLE的四种状态 25 2.2 SQL*...

    oracle 重置序列从指定数字开始的方法详解

    重置oracle序列从指定数字开始 代码如下: declare n number(10); v_startnum number(10):=10000001;–从多少开始 v_step number(10):=1;–步进 tsql varchar2(200); v_seqname varchar2(200):=’MIP_JF_SEQUENCE’;...

Global site tag (gtag.js) - Google Analytics