`

调整Oracle序列为指定的值存储过程

阅读更多
CREATE OR REPLACE procedure AdjustSeqValue(pSeqName in varchar2,pValue in number) is
/******************************************************************************
序列必须存在,且为NOCACHE
wallimn 2009-11-06 
******************************************************************************/
v_value number;
v_tmp	number;
begin
	select last_number into v_value from seq where sequence_name=upper(pSeqName);
	if(v_value=pValue) then
		return;
	end if;
	
	if( v_value>pValue) then
		execute immediate 'drop sequence '||pSeqName;
		execute immediate 'create sequence '||pSeqName || ' NOCACHE ';
		v_value:=1;
	end if;
	
	for i in v_value..pValue-1 loop
		execute immediate 'select '||pSeqName||'.nextval from dual' into v_tmp;
	end loop;
end AdjustSeqValue;
分享到:
评论

相关推荐

    mysql生成oracle序列

    这种方法可以有效地模拟Oracle序列的行为,并能够根据指定的步长和长度来生成数值。 ##### 2.1 创建模拟序列的表 在MySQL中创建一个名为`sequence`的表,用于存储序列的相关信息: ```sql DROP TABLE IF EXISTS `...

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

    以下是一些关于如何重置Oracle序列从指定数字开始的方法。 1. **不删除重建方式** 在不删除重建序列的情况下,可以使用PL/SQL动态SQL语句来实现重置。首先,获取序列的当前`nextval`,然后根据目标起始值计算出...

    Oracle数据库中序列的使用

    通过`ALTER SEQUENCE`语句,可以对序列的一些属性进行修改,例如调整增量值、最大值或最小值等。 #### 删除序列 删除序列的语法如下: ```sql DROP SEQUENCE [user.]sequence_name; ``` 执行此命令将永久删除...

    如何实现Oracle自增,序列,触发器都有

    - `MAXVALUE`指定了序列的最大值,本例中设置为一个非常大的数字,意味着几乎不会达到上限。 - `START WITH`指定了序列的第一个值,在这里设置为21。 - `INCREMENT BY`指定了序列每次递增的步长,默认为1。 - `CACHE...

    oracle 存储过程使用 sequence

    Oracle存储过程是数据库管理系统中一个非常重要的特性,它允许开发者编写包含一系列SQL和PL/SQL语句的程序单元,以实现更复杂的业务逻辑。在Oracle中,Sequence则是一种自增序列号生成器,通常用于主键或者唯一标识...

    oracle存储过程

    该存储过程`YW.SEQ_RESET`用于调整序列值。它接收三个参数:序列名(`v_seqname`)、记录计数(`n_recordCount`)和新ID(`n_NewID`)。首先,根据`n_recordCount`的值,它获取当前序列的下一个值,然后可能调整序列...

    使用VB调用Oracle程序包内的存储过程返回结果集

    请注意,上述代码示例需要根据实际的存储过程名称、参数和数据类型进行调整。在实际应用中,你可能还需要处理异常,进行错误处理,以及优化性能,比如通过使用连接池来管理数据库连接。 总的来说,使用VB调用Oracle...

    BLOG_【故障处理】Oracle_lhr_序列cache值过小导致CPU利用率过高.pdf

    通过调整序列cache值可以减少序列值获取过程中的竞争和等待时间。cache值设置过小会增加访问序列时的数据库锁竞争,而设置过大可能会导致内存占用过高,因此需要根据实际业务情况来权衡。 除了enq:SQ-contention和...

    oracle自动增长列

    - `INCREMENT BY increment`: 指定每次调用序列时增加的值,默认为1。 - `MINVALUE minvalue`: 指定序列的最小值。 - `MAXVALUE maxvalue`: 指定序列的最大值。 - `CYCLE`: 当序列达到最大值后会循环回到最小值。 - ...

    ORACLE9i_优化设计与系统调整

    §3.2 在参数文件中指定参数值 64 §3.2.1 参数文件中的规则控制 64 §3.2.2 在参数值中使用特殊字符 65 §3.2.3 修改参数值 66 §3.2.4 显示当前参数值 69 §3.2.5 参数的使用 69 §3.2.6 参数的类型 69 §3.2.7 不...

    2022年中南大学oracle实验报告.docx

    通过这个实验,学生们不仅掌握了Oracle数据库的基本操作,如创建表、序列和存储过程,还深入理解了如何利用存储过程解决业务逻辑中的特定问题,例如自动编号和数据管理。此外,实验也强调了在实际开发中根据需求调整...

    ORACLE10g数据库创建表空间序列

    表空间是Oracle数据库中存储数据的基本单位,用于组织和管理数据库对象。创建表空间的语句如下: ```sql CREATE TABLESPACE 表空间名字 DEFAULT '路径.dbf' SIZE 空间大小 单位 k/m/g AUTOEXTEND ON 100M MAXSIZE ...

    cmd下自动安装oracle.7z

    1. **静默安装Oracle**: 静默安装是指在没有用户交互的情况下进行软件安装,通常通过命令行参数或配置文件来指定安装选项。在Oracle的静默安装中,我们使用`回应文件`(response file),如`db_install.rsp`,来预先...

    oracle 数据库实例教程 第10讲.ppt

    例如,可以调整序列`seq_1`的最大值和缓存大小。 **10.2 同义词** 同义词是Oracle数据库中的一个名称解析功能,它为对象(如表、视图、过程等)提供一个替代的名称。同义词可以用于简化数据库对象的引用,特别是在...

    oracle数据库应用.docx

    Oracle数据库是世界上最流行的数据库管理系统之一,广泛应用于企业的数据存储和管理。本文档主要涵盖了Oracle数据库的一些基础操作,包括表空间的管理和权限管理,序列的创建和使用,同义词的定义与删除,以及索引的...

    ORACLE SQL Reference 10g

    - **函数**: 类似于存储过程,但主要用来计算值并返回该值。 **6. 安全性和权限** - **用户管理**: 包括用户账号的创建、修改和删除。 - **权限管理**: 包括系统权限(如CREATE SESSION、CREATE TABLE)和对象权限...

    Oracle向PostgreSQL移植实例

    【Oracle向PostgreSQL移植实例】涉及的是从Oracle数据库迁移到PostgreSQL数据库的过程,这通常是因为业务需求、成本效益分析或技术栈的改变。以下是对移植过程中关键知识点的详细解释: 1. **数据库初始化**: - ...

    Oracle从入门到精通

    存储过程是一组预先编写的SQL语句和控制流语句的集合,存储在数据库中供应用程序调用。它们可以提高代码的重用性和性能。 #### 三、Oracle安装与配置 ##### 1. 安装Oracle软件 在安装Oracle之前,需要准备好安装...

    Oracle 11g的安装PDF

    导入文件时,如果遇到中文字符编码问题,可能需要调整数据库的字符集设置,以确保中文字符能够正确显示和存储。 数据库操作中难免会遇到误操作,例如误删除(drop)了某些表。如果遇到这种情况,可以使用Oracle提供...

Global site tag (gtag.js) - Google Analytics