`

用存储过程重置序列

阅读更多
SQL> create sequence seq_1 increment by 1 start with 1 maxvalue 999999999; 
序列已创建。 
SQL> create or replace procedure seq_reset(v_seqname varchar2) as 
 n number(10); 
 tsql varchar2(100); 
 begin 
 execute immediate 'select '||v_seqname||'.nextval from dual' into n; 
 n:=-(n-1); 
 tsql:='alter sequence '||v_seqname||' increment by '|| n;--让序列一次递增-N,实现归0 
 execute immediate tsql; 
 execute immediate 'select '||v_seqname||'.nextval from dual' into n; 
10 tsql:='alter sequence '||v_seqname||' increment by 1'; 
11 execute immediate tsql; 
12 end seq_reset; 
13 / 
过程已创建。 
SQL> select seq_1.nextval from dual; 
NEXTVAL 
--------- 
2 
SQL> / 
NEXTVAL 
--------- 
3 
SQL> / 
NEXTVAL 
--------- 
4 
SQL> / 
NEXTVAL 
--------- 
5 
SQL> exec seq_reset('seq_1'); 
PL/SQL 过程已成功完成。 
SQL> select seq_1.currval from dual; 
CURRVAL 
--------- 
1 
SQL> 
这样可以通过随时调用此过程,来达到序列重置的目的。
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

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

    `seq.txt`文件可能是存储过程的使用示例或者序列列表,也可能包含序列修改的详细说明。如果序列列表在文本文件中,可能需要先读取文件,然后循环调用存储过程。 总之,批量修改Oracle序列值的存储过程是一个实用的...

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

    - **使用存储过程**:调用 `getSequence` 存储过程,并传入最大值参数(如 1000),最后查询 `sequencetable` 表中的最大序列值以验证结果。 #### 注意事项 - 在实际应用中,可能还需要考虑并发问题,因为多个用户...

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

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

    oracle存储过程

    这个过程通过改变序列的增量来重置序列值,以满足特定的需求。 三、YW上的存储过程`YW.SEQ_RESET` 该存储过程`YW.SEQ_RESET`用于调整序列值。它接收三个参数:序列名(`v_seqname`)、记录计数(`n_recordCount`)...

    vhdl 序列检测器

    在这个“序列检测器”例子中,我们看到一个使用VHDL编写的实体(ENTITY)和结构体(ARCHITECTURE),其功能是检测输入数据流(DIN)是否与预设的8位序列匹配。 实体名为"SCHK",它定义了四个接口信号: 1. `DIN`...

    Verilog产生WALSH序列

    // 重置序列 end end endmodule ``` 这段代码定义了一个名为`walsh_sequence_generator`的模块,它接收时钟`clk`、复位信号`rst_n`以及需要生成的序列长度`len`作为输入。输出`walsh_out`则提供沃尔什序列。在...

    浅谈.Net中的序列化和反序列化

    序列化和反序列化是.NET编程中重要的概念,它们涉及将对象状态转换为可以存储或传输的形式,并在需要的时候重新构建原始对象的过程。理解序列化和反序列化的机制及其用途是.NET开发者的基本技能之一。 首先,我们来...

    mysql生成oracle序列

    4. **序列重置逻辑**:在`nextval`函数中,使用了`pow(10, tmp1)`来判断是否达到最大值并重置序列值。这里假设`valuelen`代表序列值的最大位数,但实际应用中可能需要根据具体需求调整逻辑。 通过以上方法,可以在...

    用verilog编写m序列代码

    本篇文章将详细介绍如何使用Verilog硬件描述语言来实现一个M序列发生器。 #### M序列基本原理 M序列是由线性反馈移位寄存器(LFSR)产生的最大周期序列,其周期等于2^n-1(n为寄存器长度),并且在整个周期内仅有很...

    .Net中的序列化和反序列化详解

    序列化是将对象的状态信息转换为可以存储或传输的形式的过程,而反序列化则是序列化的逆过程,它将存储或传输的数据还原为对象的状态信息。 序列化的用途非常广泛,其中最直接的应用包括: 1. 将应用程序的状态...

    M序列发生器

    D触发器是一种基本的时序电路单元,用于存储一位二进制数据。在本例中,D触发器被用作构建M序列发生器的基础单元。 ### 模块定义 给定代码中定义了一个名为`DFF_2`的D触发器模块,它接受复位信号(r)、置位信号(s...

    GRU.py_gru_时间序列预测_时间序列_GRU时间序列_序列预测_

    在时间序列预测领域,GRU(Gated Recurrent Unit,门控循环单元)是一种常见的神经网络结构,尤其适用于处理序列数据,如客流、车流等时间变化的数据。GRU是LSTM(Long Short-Term Memory)的一个变种,两者都属于...

    Json的序列化与反序列化

    // 重置序列化器 serializer = new DataContractJsonSerializer(typeof(Person)); // 反序列化JSON字符串回Person对象 Person deserializedPerson = (Person)serializer.ReadObject(stream); ``` 在`...

    Verilog状态机序列检测器

    在实际应用中,序列检测器可能需要处理连续的输入序列,因此还需要考虑如何在检测到一个序列后重置状态机,以便于开始检测下一个序列。这可以通过增加一个新的状态(例如,IDLE)并添加相应的状态转移逻辑来实现。 ...

    seg_test.rar_VHDL detector_VHDL序列检测器_vhdl序列检测_妫?娴?vhdl_序列检测器

    3. **计数器和存储器**:可能需要使用计数器跟踪输入序列的位置,以及存储当前检测到的序列部分。 4. **检测逻辑**:当输入序列与模板匹配时,触发检测信号。 5. **同步和复位**:确保设计在正确的时间启动和重置,...

    最大子序列.pdf

    文档中出现的Java代码使用了数组和ArrayList来存储中间结果,并且使用了HashMap来辅助找出最大的子序列。代码中包含的一些关键字和类可以帮助我们推断出程序的意图: - `ArrayList`是Java中常用的动态数组类,用于...

    数电课设减法计数器串行序列检测器.docx

    在这个设计中,计数器需要能够从最大值(例如111)递减到最小值(例如000),并在达到000后能自动重置回最大值,形成一个循环计数的过程。 - 使用74LS系列的逻辑门,如74LS00(四2输入与非门)和74LS08(四2输入...

    二叉树的顺序存储结构

    在二叉树的顺序存储中,我们通常采用一种称为“二叉堆”的方法,例如最大堆或最小堆,或者使用自底向上的顺序编码。最大堆是一种特殊的完全二叉树,其中每个父节点的值都大于或等于其子节点的值。相反,最小堆则确保...

    Java编程实现同步序列密码的加密解密系统

    4. **重置**:在处理完一段数据后,可能需要重置密钥流,以便为新的数据流生成新的密钥序列。这通常涉及到重新初始化向量或密钥。 在实现过程中,需要注意以下几点: - **安全性**:确保所选择的伪随机数生成器...

Global site tag (gtag.js) - Google Analytics