最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Oracle生成序列号存储过程

来源:动视网 责编:小采 时间:2020-11-09 11:49:53
文档

Oracle生成序列号存储过程

Oracle生成序列号存储过程:项目中经常要根据年月日规则生成序列号,简单写了个存储过程可根据需要扩展 一、序列号存储表 -- Create tablecreate table SYS_ 项目中经常要根据年月日规则生成序列号,简单写了个存储过程可根据需要扩展 一、序列号存储表 -- Create tabl
推荐度:
导读Oracle生成序列号存储过程:项目中经常要根据年月日规则生成序列号,简单写了个存储过程可根据需要扩展 一、序列号存储表 -- Create tablecreate table SYS_ 项目中经常要根据年月日规则生成序列号,简单写了个存储过程可根据需要扩展 一、序列号存储表 -- Create tabl


项目中经常要根据年月日规则生成序列号,简单写了个存储过程可根据需要扩展 一、序列号存储表 -- 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;

文档

Oracle生成序列号存储过程

Oracle生成序列号存储过程:项目中经常要根据年月日规则生成序列号,简单写了个存储过程可根据需要扩展 一、序列号存储表 -- Create tablecreate table SYS_ 项目中经常要根据年月日规则生成序列号,简单写了个存储过程可根据需要扩展 一、序列号存储表 -- Create tabl
推荐度:
标签: 创建 生成 过程
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top