`

Oracle - 一个sequence重置的方法

阅读更多
  Oracle - 一个sequence重置的方法 收藏
如果直接drop掉,与这个sequence相关的function trigger什么的在下次运行的时候都会重新编译,而且编译有可能会失败,所以采用了下边的方法:

假设sequence seq属性如下:
increment 1
minvalue 1

则用下边方法:
alter sequence seq minvalue 0;
select seq.nextval from dual; --假设值是30
alter sequence seq increment -30;
select seq.nextval from dual; --会得到0
alter sequence seq minvalue 1;
alter sequence seq increment 1;

这样之后再取的时候就会从1开始了。



本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zyongsheng83/archive/2007/08/09/1735332.aspx
分享到:
评论

相关推荐

    Oracle sequence 重置(失效恢复)

    #### 三、Sequence重置方法 下面将详细介绍如何通过SQL脚本来重置Sequence,使其恢复正常功能。 ### SQL脚本实现 首先,我们定义了一个函数`func_getseq`,该函数接受一个表名作为参数,并返回该表主键的最大值。...

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

    在Oracle中,通常的做法是创建一个新的序列,但这可能会带来额外的管理工作,尤其是在频繁需要重置序列的场景下。 本文将详细介绍如何在不新建序列的情况下,实现Oracle序列的重置,让其从1开始增长。这种方法通过...

    oracle sequence语句重置方介绍

    这是一个存储过程,名为RESET_SEQUENCE,接受一个参数p_sSeqName,表示要重置的Sequence名称。这个过程的逻辑与方法一类似,不同之处在于它被封装成一个可重复使用的函数,便于在数据库中调用。 这两种方法都是通过...

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

    另一种方法是创建一个存储过程,如示例所示,该过程接受序列名称作为参数,然后执行类似的逻辑来重置序列。这允许你在需要时方便地调用该过程,而无需每次都手动编写SQL语句: ```sql CREATE OR REPLACE ...

    分享ORACLE SEQUENCE跳号总结

    - **序列重置**:如果允许,可以通过`ALTER SEQUENCE RESTART`命令重置序列,但这可能会导致与现有数据冲突。 - **事务管理**:确保事务在提交前不回滚,或者在事务中捕获和处理序列值,以减少跳号的可能性。 - **...

    oracle中设置自增主键参考

    在Oracle数据库中,自增主键是一种非常实用且常见的设计模式,它能够确保表中的每一条记录都拥有一个唯一的标识符,这对于数据的管理和查询非常重要。本文将详细介绍如何在Oracle中实现自增主键的功能。 #### 创建...

    Oracle 使用触发器创建自动序列号

    increment by 1--每次加1个 start with 1--从1开始计数,nocycle是一直累加,不循环 cache 20 order; --查序列,小心执行 select seq_customer_id.nextval from SEQ_TEST --插入数据 insert into test(nid,test1) ...

    oracle序列创建、修改、删除

    例如,创建一个名为`NEWS_SEQUENCE`的序列,起始于2,每次增加1,最小值和最大值都是2,缓存2个值,并且循环使用: ```sql CREATE SEQUENCE SCOTT.NEWS_SEQUENCE START WITH 2 INCREMENT BY 1 MINVALUE 2 ...

    mysql生成oracle序列

    在MySQL中创建一个名为`sequence`的表,用于存储序列的相关信息: ```sql DROP TABLE IF EXISTS `sequence`; CREATE TABLE `sequence` ( `name` varchar(50) CHARACTER SET utf8 COLLATE utf8_croatian_ci NOT ...

    oracle日志文件大全

    - 成员管理:一个组内的每个成员具有相同的日志序列号(log sequence number),且成员的大小相同。 - 触发机制:日志缓冲区满三分之一、超过一兆的变化记录、事务提交时触发日志写入。 ##### 2. Archivelog Files...

    sqlserver中创建类似oracle序列的存储过程

    本文将详细介绍如何在 SQL Server 中创建一个模拟 Oracle 序列功能的存储过程,并通过示例代码展示其实现方法。 #### 实现原理 为了模拟 Oracle 序列的行为,我们需要在 SQL Server 中创建一个表来存储序列的当前值...

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

    这篇博客分享的是一个自定义的存储过程,用于批量修改Oracle序列的当前值(CURRENT VALUE)。 首先,我们需要理解Oracle序列的基本结构和操作。序列由CREATE SEQUENCE语句创建,如: ```sql CREATE SEQUENCE seq_...

    ORACLE联机日志文件丢失或损坏的处理方法

    ### ORACLE联机日志文件丢失或损坏的处理方法 #### 概述 在Oracle数据库管理过程中,联机重做日志(Online Redo Log)是数据库运行时记录所有事务更改的重要组成部分。当联机重做日志文件丢失或损坏时,可能会导致...

    Oracle_GoldenGate概念、安装步骤及基本的配置步骤_for_ORACLE

    - 内存:每个并发的Extract或Replicat进程需要25-55MB的内存,一个OGG实例最多支持300个并发进程。 - Swap Space:系统所需的swap space大小可参考GGSCI中的PROCESSVMAVAILABLEFROMOS参数值。 - 磁盘空间:每个实例...

    《Oracle 技巧》

    在Oracle数据库系统中,创建一个编号自动增加的字段通常是用于主键或序列号的需求,这在数据表设计中非常常见,特别是在需要唯一标识记录的情况下。这个功能可以通过序列(Sequences)和触发器(Triggers)来实现。...

    oracle闪回大全

    在Oracle数据库管理中,闪回(Flashback)是一项非常重要的功能,它允许用户恢复到某个特定的时间点或者状态,这对于数据保护和灾难恢复至关重要。本文将详细介绍Oracle闪回的相关知识点,包括其工作原理、配置参数...

    oracle数据库的赋权脚本

    - **ALTER ANY SEQUENCE**:允许用户修改任何序列,包括重置序列值。 - **ALTER ANY USER**:允许用户修改任何用户的属性,如密码、资源限制等。 - **ALTER ANY RULE**:允许用户修改任何规则,这是Oracle 12c引入的...

    联机日志文件损坏后的恢复方法

    从上面的输出可以看出,当前处于CURRENT状态的日志组为3,而损坏的日志组可能为1或2中的一个。为了验证这一点,我们需要进一步确认哪个日志组出现了问题。 ##### 2. 确认损坏的日志组 - **命令:** 查看具体的日志...

Global site tag (gtag.js) - Google Analytics