Oracle 存储过程删除和新增序列解决流水号每天重新开始

Oracle id或者序列重置从一开始 ORACLE 自动生成 ID 和 SQL SERVER 不一样,是通过 SEQUENCE 来处理,这个时候你重新生成 SEQUENCE,也就 ID 重新生成了。Oracle 中的序列我们一般用来生成流水号,所以需要进行重置(如每天凌晨重置一次),我们虽然可以通过重新编译的方式重置序列,可是这种方法会有弊端,比如导致与该序列相关的存储过程或函数失效等等,需要重新编译;这种方式,不用删除,利用步长参数,先查出sequence的nextval,记住,把递增改为负的这个值(反过来走),然后再改回来。 阅读详情
批量跑脚本的时候需要删除所有的序列,调用下面存储即可:
--删除所有序列的存储过程;    
create or replace procedure PROC_DROPSEQUENCE_All  
as   
  --引用user_sequences表中的sequenceName的类型;  
  sequenceName user_sequences.sequence_name%type;    
  type ty is record(sequence_name varchar2(30));  
  --定义ref类型游标;-强类型  
  type ref_type is ref cursor return ty;  
  ref_t ref_type;  
  --定义变量存储数量;  
  mycount number(10);  
  begin  
    --打开游标;  
    open ref_t for select sequence_name from user_sequences;  
         loop  
             --从游标中获取一条记录,放入变量中;  
             fetch ref_t into sequenceName;  
                    SELECT COUNT(*) INTO mycount FROM user_sequences WHERE sequence_name = sequenceName;  
                    if mycount>0 then  
                       execute immediate 'DROP SEQUENCE '||sequenceName;  
                    end if;  
             exit when ref_t%notfound;  --退出;  
         end loop;  
     close ref_t;      
  end;

写一个数据库的定时job每天都调用下面的存储,解决流水号每天重新开始

create or replace procedure PROC_DROP_SEQUENCE as
  mycount number(10);
begin
  SELECT COUNT(*)
    INTO mycount
    FROM user_sequences
   WHERE sequence_name = 'BIZ_CODE_SEQ_RTN';
  if mycount > 0 then
    execute immediate 'DROP SEQUENCE BIZ_CODE_SEQ_RTN';
    execute immediate 'create sequence BIZ_CODE_SEQ_RTN
                      minvalue 1
                      maxvalue 999999999999999
                      start with 1
                      increment by 1
                      nocache
                      cycle';
  end if;
end;

OpenHarmony电源管理驱动架构剖析:HDI框架下的低功耗实现 鸿蒙电源管理驱动模块是OpenHarmony操作系统中负责设备电源状态管理的核心组件。该模块基于HDI(Hardware Device Interface)框架实现,提供了完整的电源管理功能,包括系统休眠/唤醒、运行锁管理、休眠模式控制等核心功能。public:// 主要接口函数// 运行锁管理private:// 内部辅助函数// 成员变量public:// 运行锁控制接口// 回调管理private:// 内部辅助函数。 阅读详情

相关推荐

Arduino IDE 2.3.2 配置 UNO R4 WIFI 开发环境避坑指南(附LED矩阵驱动测试)

本文详细介绍了如何在Arduino IDE 2.3.2中配置UNO R4 WIFI开发环境,并提供了LED矩阵驱动的实战指南。从开发环境搭建到硬件连接,再到LED矩阵的初始化和弹球动画实现,手把手教你避开常见配置陷阱,最终实现流畅的动画效果。特别适合刚接触UNO R4 WIFI的开发者快速上手。

weixin_28675839的博客 219

oracle创建自增序列并每日刷新

oracle创建自增序列并每日刷新重新从1开始

q571947988的博客 2756

RK3566开发板实战:YT8512C百兆网卡调试全记录(附DTS配置避坑指南)

本文详细记录了RK3566开发板上YT8512C百兆以太网卡的调试全过程,包括硬件信号检测、DTS配置优化及常见错误排查。特别针对DTS配置中的关键参数和避坑指南进行了深入解析,为开发者提供实用的调试技巧和经验分享。

weixin_29189381的博客 267

oracle序列定时更新,oracle定时重置序列

oracle定时重置序列 --序列名:seq_zcbh-- create sequence SEQ_ZCBH minvalue 0 maxvalue 99999 start with 1 increment by 1 cache 20; --存储过程-- create or replace procedure seq_reset as n number(10); tsql varchar2(100...

weixin_39623671的博客 751

OLED的字模提取(保姆级)---基于PCtoLCD2013

做为一个刚刚开始接触编程不久的白菜,这个OLED想做一个信息显示,可是商家给我的例程里就是88,816两种字体的格式,我的屏幕是0.91寸的8*16的字体显示上感觉特别丢丢儿小,我就想整个大的,哎,只怪直接学习习惯不好,总是学一半,绕了好大一圈,才搞好,想写一篇博客,时刻提醒踏实学习,第一次写博客,小白一枚,勿喷。。 OLED屏幕驱动程序功能 我们对Markdown编辑器进行了一些功能拓展与语法支...

qq_44886611的博客 7781

小案例:利用图床自动化批量上传图片并获取图片链接

用python爬虫写了一个小脚本,用来自动上传图片到图床,然后返回链接,我们只需直接复制链接就可以。(需要安装Requests库) 因为不同图床需要提交的POST表单不一致,所以在这里我用ImgURL图床做示范,如果大家有需求,可自行修改代码。使用脚本的时候,我们只需把需要上传的图片和这个脚本放在同一个文件夹中,然后运行脚本,稍作等待,看到提示时就可以在脚本运行文件夹中发现一个名为“图片链接地址.txt”的文件,里面就是图片链接啦! 四、图片链接地址.txt(单张图片):...

采菊东篱下,Python满乾坤! 4409

存储过程自动创建oracle 序列

create or replace procedure p_seq ( tab_name varchar2,col_name varchar2,seq_name varchar2) as v_sql varchar2(2000); v_sql1 varchar2(2000); seq_value number; t_name varchar2(200):=tab_name; c_name varchar2(200):=col_name; s_name varchar2(200):=seq...

wll的专栏 907

从材料到磁场:ANSYS Workbench永磁体仿真全流程解析

本文详细解析了在ANSYS Workbench中进行永磁体仿真的完整流程。从钕铁硼等永磁材料的特性讲起,逐步指导如何在软件中搭建模型、定义关键磁化方向、设置边界条件与网格划分,并解读磁场分布结果。文章旨在帮助工程师掌握静磁场仿真核心技术,为电机、传感器等设备的设计与优化提供精准指导。

weixin_29229989的博客 272

Oracle数据库Sequence创建与使用

在Oracle中sequence就是序号,每次提取完都会自动增加,步幅固定,它与表没有直接关系! 首先查询当前数据库中的sequence 查询当前用户的:select * from user_sequences 查询所有用户的:select * from all_sequences 开始创建sequence: 创建sequence语句: CREATE SEQUENCE

蜀道难,难于上青天。 1402

数据分析案例-电影数据可视化分析

数据介绍数据为2011-2021电影数据可视化分析首先导入本次项目需要的包和数据 数据预处理 可视化

m0_64336780的博客 2万+

PCL点云DBSCAN聚类算法:基于密度的点云聚类

核心点是在给定半径内拥有足够多邻居点的点,边界点是在给定半径内没有足够多邻居点但是位于核心点的邻域内的点,噪声点是既不是核心点也不是边界点的点。本文将介绍PCL中的DBSCAN(基于密度的空间聚类应用噪声)算法,用于点云数据的聚类。上述示例代码首先从PCD文件中读取点云数据,并设置了DBSCAN聚类的参数,包括邻域搜索半径(epsilon)和邻域内最小点数(min_points)。需要注意的是,示例代码中的点云数据格式为pcl::PointXYZ,如果使用其他类型的点云数据,需要相应地修改代码。

LpmShell的博客 1237

oracle 建一个自增序列,Oracle中如何创建使用SEQUENCES自增序列

Oracle中如何创建使用SEQUENCESOracle提供了sequence对象,由系统提供自增长的序列号,通常用于生成数据库数据记录的自增长主键或序号的地方.下面介绍一下关于sequence 的生成,修改,删除等常用的操作:1. 创建Sequence使用如下命令新建sequence(用户需要有CREATE SEQUENCE 或者CREATE ANY SEQUENCE权限):CREATE SEQ...

weixin_26516551的博客 853

GIS常用符号化色带(超级色带)根据python制作

GIS自带的色带比较单一,今天分享一款色带,应用之后大家出图的时候可以选择更多的配色,符号化/点击色块/样式引用/将样式添加至列表即可。色带类型比较多,大家可以自己尝试下不同的风格。简单符号化一下,看看效果。以中国县级行政区划为例,

J_Giser的博客 2637

oracle重置流水号,Oracle 存储过程删除和新增序列解决流水号每天重新开始

批量跑脚本的时候需要删除所有的序列,调用下面存储即可:--删除所有序列的存储过程;create or replace procedure PROC_DROPSEQUENCE_Allas--引用user_sequences表中的sequenceName的类型;sequenceName user_sequences.sequence_name%type;type ty is record(sequen...

weixin_31108739的博客 335

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

oracle删除与新增存储过程,Oracle 存储过程删除和新增序列解决流水号每天重新开始...

批量跑脚本的时候需要删除所有的序列,调用下面存储即可:--删除所有序列的存储过程;create or replace procedure PROC_DROPSEQUENCE_Allas--引用user_sequences表中的sequenceName的类型;sequenceName user_sequences.sequence_name%type;type ty is record(sequen...

weixin_34478373的博客 298

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Oracle Job每天重置序列

Oracle 11g 项目上需要每天从1开始的流水号,用JAVA来启动定时任务每天重置内存中保存的流水号容易丢失,在数据库中维护maxnum每次生成完流水号还得update,恰巧项目需要为亿级数据生成...想到了用序列+job解决这个问题。 创建序列: --注意,若想达到重置后第一次取nextval为1,则创建序列时最小值应设置0 create sequence SEQ_LSH minvalue 0 maxvalue 9999999999 start with 1 increment by 1 ca

全绽开发工程师的博客 1659

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Oracle重置序列(不删除重建方式)

Oracle 中的序列我们一般用来生成流水号,所以需要进行重置(如每天凌晨重置一次),我们虽然可以通过重新编译的方式重置序列,可是这种方法会有弊端,比如导致与该序列相关的存储过程或函数失效等等,需要重新编译;于是就需要一种不编译也可以重置序列的方法——   这种方式,不用删除,利用步长参数,先查出sequence的nextval,记住,把递增改为负的这个值(反过来走),然后再改回来。  假设...

破风 670

oracle 序列器重置,Oracle重置序列(不删除重建方式)

Oracle 中的序列我们一般用来生成流水号,所以需要进行重置(如每天凌晨重置一次),我们虽然可以通过重新编译的方式重置序列,可是这种方法会有弊端,比如导致与该序列相关的存储过程或函数失效等等,需要重新编译;于是就需要一种不编译也可以重置序列的方法——这种方式,不用删除,利用步长参数,先查出sequence的nextval,记住,把递增改为负的这个值(反过来走),然后再改回来。假设需要修改的序列名...

weixin_30270715的博客 505

Oracle 重置序列(不删除重建方式)

racle 中的序列我们一般用来生成流水号,所以需要进行重置(如每天凌晨重置一次),我们虽然可以通过重新编译的方式重置序列,可是这种方法会有弊端,比如导致与该序列相关的存储过程或函数失效等等,需要重新编译;于是就需要一种不编译也可以重置序列的方法——   这种方式,不用删除,利用步长参数,先查出sequence的nextval,记住,把递增改为负的这个值(反过来走),然后再改回来。  假设需...

Z少年的博客 3622

Oracle序列的创建与重置

表记录的流水号通常都用序列的方法来做,有时在创建工程中需要进行重置,例如在创建阶段、测试阶段等,我们可以通过多种方式重置序列,删除重建、序列重置等。下面是两种方法的存储过程实例。 要实现下面的存储过程,需要授予权限。 GRANT CREATE SEQUENCE TO user;

paul50060049的专栏 5986

Oracle 设置sequence 实现流水号循环递增

create sequence SEQTEST minvalue 1 maxvalue 999999999 start with 1 increment by 1 cache 20; select to_char(seqtest.nextval,'000000000') from dual; drop sequence SEQTEST;

chudan的专栏 4319

oracle mysql的序列的新增、删除、修改及使用

序列的使用 参考文献:https://blog.youkuaiyun.com/meijory/article/details/51891529 1.序列介绍 序列: 是 oracle 提供的用于产生一系列唯一数字的数据库对象。 Oracle 序列(Sequence)主要用于生成流水号,在应用中经常会用到,特别是作为ID值,拿来做表主键。 通过创建Oracle序列和触发器实现表的主...

weixin_30576859的博客 511

oracle创建序列seq起始值为1_oracle 修改序列起始值

Oracle 序列(Sequence)主要用于生成流水号,Oracle EBS系统中是经常用到的。但是,有时需要修改序列初始值(START WITH)时,好多人凭感觉认为:Alter Sequence SequenceName Start With N。事实上,在Oracle Db中,修改序列没有这样的语法。没有这样的语法情况怎么办,有二种方法可以完成——1.先删除序列,然后重新创建。这个方法比较...

weixin_39536427的博客 225

生成特定序列號存儲過程

create table SeqBASIC_SEQ(         -- ID列为自增列        SeqID int identity(1,1) primary key,       -- Sequence值        SeqVal varchar(1)  ) --DROP table SeqBASIC_SEQ  create procedure P_GetNewSeq

馨香紫韵 654

oracle修改序列

Oracle 序列(Sequence)主要用于生成流水号,在应用中经常会用到,特别是作为ID值,拿来做表主键使用较多。 但是,有时需要修改序列初始值(START WITH)时,有同仁使用这个语句来修改:alter sequence sequencename start with xxxxxxxx。但是,在Oracle DB中,修改序列没有这样的语法。下面介绍几种修改方...

dong0506的博客 1329
上一篇: JSF 文档参考
下一篇: jquery实现文本框Email自动提示后缀
sunjava1
博客等级 码龄15年 1粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值