【Oracle】PL/SQL制作唯一标识,固定字段+日期+流水码,流水码每日重置
【Oracle】PL/SQL制作唯一标识,固定字段+日期+流水码,流水码每日重置
首先创建序列
create sequence sequence_name
minvalue 0
maxvalue 9999999999999999999999999999
start with 0
increment by 1
cache 20;
对序列进行重置存储过程
create or replace procedure update_nextval as
n integer;
tsql varchar2(100);
begin
execute immediate 'select sequence_name.nextval from dual'
into n;
n := -(n);
tsql := 'alter sequence sequence_name increment by ' || n;
execute immediate tsql;
execute immediate 'select sequence_name.nextval from dual'
into n;
tsql := 'alter sequence sequence_name increment by 1';
execute immediate tsql;
end;
将重置序列加入到定时任务job中
declare
job number;
BEGIN
DBMS_JOB.SUBMIT(
JOB => job, /*自动生成JOB_ID,放着就行,不用管*/
WHAT => 'update_nextval;',
INTERVAL => 'TRUNC(SYSDATE + 1)'
);
commit;
end;
拼接TEXT+日期+流水码的格式的标识
create or replace procedure code_pro is
p_seq integer;
p_date varchar2(50);
p_seqcode varchar2(50);
p_code varchar2(50);
begin
--组合成TEXT+日期+流水码的格式的标识
p_seq := sequence_name.nextval;
select lpad(p_seq, '3', '0') into p_seqcode from dual;
select replace(to_char(sysdate, 'yyyy-mm-dd'), '-', '')
into p_date
from dual;
p_code := 'TEXT-' || p_date || '-' || p_seqcode;
dbms_output.put_line(p_zddh);
end;
这样就制作了一个每天都会更新流水码的标识
使用的话,java就call包,将存储过程改成函数或者作相应调整即可,sql就配合需求修改下存储过程里面的内容即可
【Oracle】PL/SQL制作唯一标识,固定字段+日期+流水码,流水码每日重置的更多相关文章
- ORACLE PL/SQL编程详解
ORACLE PL/SQL编程详解 编程详解 SQL语言只是访问.操作数据库的语言,并不是一种具有流程控制的程序设计语言,而只有程序设计语言才能用于应用软件的开发.PL /SQL是一种高级数据库程序设 ...
- ORACLE PL/SQL编程详解(转)
原帖地址:http://blog.csdn.net/chenjinping123/article/details/8737604 ORACLE PL/SQL编程详解 SQL语言只是访问.操作数据库的语 ...
- [顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功)
原文:[顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功) [顶]ORACLE PL/SQL编程详解之二: PL/SQL块结构和组成元素(为山九仞,岂一日 ...
- [强烈推荐]ORACLE PL/SQL编程详解之七:程序包的创建与应用(聪明在于学习,天才在于积累!)
原文:[强烈推荐]ORACLE PL/SQL编程详解之七:程序包的创建与应用(聪明在于学习,天才在于积累!) [强烈推荐]ORACLE PL/SQL编程详解之七: 程序包的创建与应用(聪明在于学习,天 ...
- [推荐]ORACLE PL/SQL编程之四:把游标说透(不怕做不到,只怕想不到)
原文:[推荐]ORACLE PL/SQL编程之四:把游标说透(不怕做不到,只怕想不到) [推荐]ORACLE PL/SQL编程之四: 把游标说透(不怕做不到,只怕想不到) 继上两篇:ORACLE PL ...
- oracle pl/sql 程序设计 历史笔记整理
20131016 周三 oracle pl/sql 程序设计 第2章 创建并运行pl/sql代码 sqlplus yjkhecc/yjkhecc@10.85.23.92:1521/orcl 在java ...
- ORACLE PL/SQL编程之八:把触发器说透
原文:ORACLE PL/SQL编程之八:把触发器说透 ORACLE PL/SQL编程之八: 把触发器说透 大家一定要评论呀,感谢!光发表就花了我将近一个下午. 本篇主要内容如下: 8.1 触发器类型 ...
- [推荐]ORACLE PL/SQL编程之五:异常错误处理(知已知彼、百战不殆)
原文:[推荐]ORACLE PL/SQL编程之五:异常错误处理(知已知彼.百战不殆) [推荐]ORACLE PL/SQL编程之五: 异常错误处理(知已知彼.百战不殆) 继上三篇:ORACLE PL/S ...
- ORACLE PL/SQL编程之六:把过程与函数说透(穷追猛打,把根儿都拔起!)
原文:ORACLE PL/SQL编程之六:把过程与函数说透(穷追猛打,把根儿都拔起!) ORACLE PL/SQL编程之六: 把过程与函数说透(穷追猛打,把根儿都拔起!) 继上篇:ORACLE P ...
- ORACLE PL/SQL:触发器
ORACLE PL/SQL 触发器 本篇主要内容如下: 8.1 触发器类型 8.1.1 DML触发器 8.1.2 替代触发器 8.1.3 系统触发器 8.2 创建触发器 8.2.1 触发器触发次序 8 ...
随机推荐
- Android Webview判断网页加载完毕
原文: Android Webview判断网页加载完毕 - Stars-One的杂货小窝 书接上文,在Android WebView获取html源码 - Stars-One的杂货小窝此文讲到没有一个可 ...
- 使用RTX Voice,用N卡打造降噪麦克风
原文地址:使用RTX Voice,用N卡打造降噪麦克风 | Stars-One的杂货小窝 随着直播的流行,不少人为了追求良好的直播效果,都选择购买相应的设备.如想要实现降噪的功能,得通过物理手段(买个 ...
- 关于初始化page入参的设计思路
最近在重构老的代码,在写的过程中发现之前的逻辑如果遇到没有入参pageNo会Npe,于是乎我想找找公司项目有啥方式处理page入参的有两种如下 使用三元表达式直接判断是否null,然后赋值 使用map ...
- Spring Boot学习日记12
学习了Thymeleaf模板引擎前端交给我们的页面,是html页面.如果是我们以前开发,我们需要把他们转成jsp页面,jsp好处就是当我们查出一些数据转发到JSP页面以后,我们可以用jsp轻松实现数据 ...
- App启动流程
目录介绍 1.什么是Zygote进程 1.1 简单介绍 1.2 各个进程的先后顺序 1.3 进程作用说明 2.Zygote进程的启动流程 2.1 源码位置 2.2 ZygoteInit类的main方法 ...
- 【Leetcode】63. 不同路径 II
题目(链接) 一个机器人位于一个m x n网格的左上角 (起始点在下图中标记为 "Start" ). 机器人每次只能向下或者向右移动一步.机器人试图达到网格的右下角(在下图中标记为 ...
- 爬虫实战:探索XPath爬虫技巧之热榜新闻
之前我们已经详细讨论了如何使用BeautifulSoup这个强大的工具来解析HTML页面,另外还介绍了利用在线工具来抓取HTTP请求以获取数据的方法.在今天的学习中,我们将继续探讨另一种常见的网络爬虫 ...
- Java 8 内存管理原理解析及内存故障排查实践
作者:vivo 互联网服务器团队- Zeng Zhibin 介绍Java8虚拟机的内存区域划分.内存垃圾回收工作原理解析.虚拟机内存分配配置,介绍各垃圾收集器优缺点及场景应用.实践内存故障场景排查诊 ...
- 记录--JavaScript 令人惊讶的一点:对于空数组every()方法返回true
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 JavaScript 语言的内核足够大,导致我们很容易误解它的某些部分是如何工作的.我最近重构了一些使用 every ()方法的代码,并且 ...
- 记录--关于前端的音频可视化-Web Audio
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 背景 最近听音乐的时候,看到各种动效,突然好奇这些音频数据是如何获取并展示出来的,于是花了几天功夫去研究相关的内容,这里只是给大家一些代码 ...