Oracle 生成序列号存储过程
Jun 07, 2016 pm 05:07 PM项目中经常要根据年月日规则生成序列号,简单写了个存储过程可根据需要扩展 一、序列号存储表 -- Create tablecreate table SYS_
项目中经常要根据年月日规则生成序列号,简单写了个存储过程可根据需要扩展
一、序列号存储表
-- Create table
create table SYS_GENKEY
(
DATESTR VARCHAR2(50),
MAXCOUNT NUMBER,
TYPE NUMBER
)
-- Add comments to the columns
comment on column SYS_GENKEY.DATESTR
is ' 时间';
comment on column SYS_GENKEY.MAXCOUNT
is '当天最大值';
comment on column SYS_GENKEY.TYPE
is '类型';
二、功能实现存储过程
CREATE OR REPLACE PROCEDURE "P_GEN_KEY"
(
retVal out varchar2, --返回生成序号
intype in varchar2, --序号类型
inCount in varchar2 --序列号补0位数
)
as
nowDateStr varchar2(50);--当前年月日
nowmaxcount number(20); --当天最大序号
IS_EXIST NUMBER; --数据是否存在
begin
--取到当前年月日
select to_char(sysdate,'yyyymmdd') into nowDateStr from dual;
--取到当天最大key
select max(t.maxcount) into nowmaxcount from sys_genkey t where t.datestr = nowDateStr and t.type = intype;
--每天加1
--为空则设置为0
if nowmaxcount is null then
nowmaxcount := 0;
end if;
nowmaxcount := nowmaxcount + 1;
--更新临时表
SELECT COUNT(1) INTO IS_EXIST FROM sys_genkey t where t.datestr = nowDateStr and t.type = intype;
IF (IS_EXIST != 0) THEN
update sys_genkey set MAXCOUNT = nowmaxcount where datestr = nowDateStr and type = intype;
else
insert into sys_genkey (DATESTR,MAXCOUNT,TYPE)values(nowDateStr,nowmaxcount,intype);
end if;
--补0
select nowDateStr||LPAD (nowmaxcount , inCount , '0') key into retVal from dual;
end;

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Gunakan ddrescue untuk memulihkan data pada Linux

Sumber terbuka! Di luar ZoeDepth! DepthFM: Anggaran kedalaman monokular yang cepat dan tepat!

Cara menggunakan fungsi penapis Excel dengan berbilang syarat

Daya hidup kecerdasan super membangkitkan! Tetapi dengan kedatangan AI yang mengemas kini sendiri, ibu tidak perlu lagi bimbang tentang kesesakan data

Google gembira: prestasi JAX mengatasi Pytorch dan TensorFlow! Ia mungkin menjadi pilihan terpantas untuk latihan inferens GPU

Kelajuan Internet Data Selular Perlahan pada iPhone: Pembetulan

Tentera Udara A.S. mempamerkan jet pejuang AI pertamanya dengan profil tinggi! Menteri secara peribadi menjalankan pandu uji tanpa campur tangan semasa keseluruhan proses, dan 100,000 baris kod telah diuji selama 21 kali.

Robot pertama yang menyelesaikan tugas manusia secara autonomi muncul, dengan lima jari fleksibel dan kelajuan manusia luar biasa, dan model besar menyokong latihan angkasa maya
