当前位置:首页 > 日记 > 正文

oracle实现自定义序列号生成的方法

oracle实现自定义序列号生成的方法
在实际工作中,序列号生成问题是不可避免的,下面是一个简单的序列号生成函数。

(1)创建自定义序列号配置表,如下所示:
-自定义序列
创建表s_autocode

PK1 VARCHAR2(32)主键,
使用VARCHAR2(20)不为空,
VARCHAR2(10)不为空的主人,
Initcycle CHAR(1)不为空,
cur_sernum VARCHAR2(50)不为空,
zero_flg varchar(2)不为空,
sequencestyle VARCHAR2(50),
备忘录VARCHAR2(60)
);
向列添加注释
柱上s_autocode.pk1评论是关键;
柱上s_autocode.atype评论是序列号型;
柱上s_autocode.owner评论序列号业主;
柱上s_autocode.initcycle评论的序列数的增加;
柱上s_autocode.cur_sernum评论是序列号;
柱上s_autocode.zero_flg评论是序列号长度;
柱上s_autocode.sequencestyle评论是序列号风格;
柱上s_autocode.memo评论注释;
-创建/重新创建索引
创建s_autocode指数(一种pk_s_autocode,所有者);
(2)初始化配置表,例如:

复制代码如下:插入s_autocode(PK1,ATYPE,老板,initcycle,cur_sernum,zero_flg,sequencestyle,备忘录)

值('0a772aedfbed4feea46442003ce1c6a6 ','zdbcontcn ','012805',‘1','200000',7'、'$年$年orgapp美元美元美元美元质量词辑,质押合同中国号)。
(3)自定义序列号生成函数:

创建一个功能:sf_sys_gen_autocode

创建或替换功能sf_sys_gen_autocode(
i_atype在VARCHAR2 / * * /序列分类
i_owner在VARCHAR2 / * * /所有者序列
返回VARCHAR2是)
************************************************************************************************** / /
方法:sf_sys_gen_autocode名称 / * * /
发展:wangxf / * * /
*描述:主要用于生成自定义序列号。
发展:2016-10-08日期 / * * /
通过以下方式检查: *
负荷的方法:f1-delete插入 / * * /
************************************************************************************************** / /

o_autocode VARCHAR2(100); / * * /输出序列号
v_initcycle s_autocode。initcycle %型; / * * /序列号递增
v_cur_sernum s_autocode。cur_sernum %型; / * * /序列号
v_zero_flag s_autocode。zero_flg %型; / * * /编号长度
v_sequencestyle s_autocode。sequencestyle %型; / * * /编号样式
v_seq_num VARCHAR2(100); / * * /序号
v_date_year char(4); / *年,如2016× /
v_date_year_month char(6); / *个月的一年,如201610× /
v_date_date char(8); / *月的一年,如20161008× /
v_date_date_all char(14); / *全年序列,如20161008155732× /

*
支持参数序列:
年/年/年
year_month美元美元/年+月,没有人
美元/年+月+日期,没有人
date_all美元美元——>完整日期,没有人
orgapp美元美元/人
当前序列号
* /

解决查询交易无法执行DML的问题
语用autonomous_transaction;
开始
查询复核条件的序列号的配置
选择T.INITCYCLE,
t.cur_sernum,
t.zero_flg,
t.sequencestyle
为v_initcycle,v_cur_sernum,v_zero_flag,v_sequencestyle
从s_autocode T在t.atype = i_atype和t.owner = i_owner;

-格式化当前日期
选择
to_char(SYSDATE,'yyyy),
to_char(SYSDATE,'yyyymm),
to_char(SYSDATE,'yyyymmdd),
to_char(SYSDATE,'yyyymmddhh24miss)
为v_date_year,v_date_year_month,v_date_date,v_date_date_all
从双;

-数据处理
o_autocode:=(v_sequencestyle取代美元,美元,v_date_year);
o_autocode:=(o_autocode取代,year_month美元$,v_date_year_month);
o_autocode:=(o_autocode取代美元美元,日期,v_date_date);
o_autocode:=(o_autocode取代,date_all美元$,v_date_date_all);

主处理
o_autocode:=(o_autocode取代,orgapp美元$,i_owner);

序列号处理
v_seq_num:= to_char(to_number(v_cur_sernum)+ to_number(v_initcycle));

-写下当前的序列号,以确保每次都在增加。
更新s_autocode T组t.cur_sernum = v_seq_num哪里t.atype = i_atype和t.owner = i_owner;

-前面的补丁长度不满足0。
如果长度(v_seq_num)< to_number(v_zero_flag)
然后
*

v_seq_num:= 0| | v_seq_num;
退出时的长度(v_seq_num)= to_number(v_zero_flag);
结束循环;
* /
v_seq_num:=负载(v_seq_num,to_number(v_zero_flag),'0');
最后如果;

o_autocode:=(o_autocode取代美元美元,SER,v_seq_num);

承诺;
返回o_autocode;
例外
-如果没有相应的配置项,返回错误值
当no_data_found然后
回降;
dbms_output.put_line(没有配置你的需要…;
return'error;
最后sf_sys_gen_autocode;
(4)试验:

配置项:$年$ orgapp美元美元美元字号服务质量

复制代码代码如下:选择sf_sys_gen_autocode('zdbcontcn ','012805)从双;
(5)结果

2016 012805字符数字0200001

以上是本文的全部内容,希望能对您有所帮助,希望大家多多支持。

相关文章

如何隐藏QQ图标隐藏QQ图标QQ技术

如何隐藏QQ图标隐藏QQ图标QQ技术

图标,技术,电脑软件,QQ,在QQ面板中,我们单击关闭按钮,默认是退出程序。如果我们想把它设为一个隐藏函数,我们如何设置它让我们告诉萧边如何隐藏QQ图标。 隐藏QQ图标的方法 1。首先,打开要修改的帐户(每个帐户的设置应分别修改)。 2,单击主窗口设…

腐烂的城市医生求助

腐烂的城市医生求助

医生,城市,电脑软件,问:最近我在玩一个烂城市。 答:根据你的描述,你应该救医生,不要把楼上的死人杀死了;只要你现在回去杀了他,医生就会自然出现在教堂里。。…

怎么QQ音乐播放双语mvqq常见问题

怎么QQ音乐播放双语mvqq常见问题

常见问题,音乐播放,双语,电脑软件,QQ,当我们使用手机QQ音乐时,我们通常会选择双语MV来获得更好的体验。接下来就让萧边告诉你如何在手机QQ音乐播放双语MV。 利用手机QQ音乐播放双语mv的方法 1)打开手机QQ音乐,点击左上角的放大镜标志,搜索{双…

ps快速选择工具的使用

ps快速选择工具的使用

工具,快速选择,电脑软件,ps,快速选择工具是一个工具,我们经常使用在使用PS过程接下来,小编就给你快速选择工具的使用作了简要介绍,希望能帮助一些初学者。 步 1,首先,我想说的是:快速选择工具主要是用在一些颜色差异大的图片,这有助于我们挖掘出…

使用Excel2003相机

使用Excel2003相机

相机,电脑软件,如果表2部分内容将自动显示在Sheet1,对Excel功能的相机的使用也是一个方法。操作方法如下:首先单击工具菜单,选择自定义;;;;命令,在命令对话框标签;类;选择;;,在右;命令;在发现列表;相机;。并将其拖动到任何位置工具栏。 然后拖动鼠标选择需…

PS的3D工具制作漂亮的立体字

PS的3D工具制作漂亮的立体字

立体字,工具,3D,漂亮,电脑软件,用PS的3D工具制作mdash;mdash;立体文字,对比教程,适合初学者学习,希望大家喜欢! 打开ps并创建画布 画布的大小为35×35,并制作了图案。 钢笔工具使用不好,用的是矩形盒子工具; 建议使用添加到选区;设置样式为固定大…

js实现了关闭当前页面而不弹出提示

js实现了关闭当前页面而不弹出提示

方法,提示框,而不,弹出,实现了,本文演示了js实现当前页面关闭而不弹出提示框的方法: 关闭当前页面并打开一个新页面(没有提示) 功能closewinandopen(URL){ 无功swinname =LR+ parseInt(数学。随机)(×100000000); / /使用随机数winname Window.open(U…

Word2007写作造纸Word2007教程。

Word2007写作造纸Word2007教程。

教程,电脑软件,在Word2007中,我们可以看到很多类似的写作像Word文档,你知道它是如何产生和萧边一起看下面。 Word2007稿纸制作步骤 启动Word2007,在菜单栏上单击,单击设置按钮,页面设置,纸张。 弹出式纸张设置界面,我们可以选择格式、颜色、行数…

PS图象处理软件CS6是美丽的花,颜色

PS图象处理软件CS6是美丽的花,颜色

字体,的花,图象,处理软件,颜色,今天,萧边将与您分享PS图象处理软件CS6的美丽的方式做出漂亮的颜色和字体。这个教程很好。字体非常漂亮,建议大家一起学习。 步 创建一个新的空白文件,输入你好,百度体验,设置正确的字体大小。 右键单击图层,选择…

PS图象处理软件增加了一个梦幻般的

PS图象处理软件增加了一个梦幻般的

光环,一个女孩,图象,处理软件,梦幻般,这是PS图象处理软件教程实例,主要为您介绍PS图象处理软件通过材料的合成,对女孩的照片添加一些梦幻的光环效应。 第一步首先打开一个美丽女人的照片。 第二步复制层女孩,图像颜色相位和饱和度,饱和度的增…

MySQL限制分页的用法及注意事项

MySQL限制分页的用法及注意事项

分页,注意事项,电脑软件,MySQL,MySQL限制分页的使用与注意: 当我们使用查询语句时,我们常常不得不返回中间的几行或几行数据,那么此时你在做什么呢不用担心,MySQL提供了这样一个功能。 SELECT * FROM表限排{抵消抵消| }。 限制条款可用于强制S…

PS图象处理软件三步的图HDR效果

PS图象处理软件三步的图HDR效果

图象,三步,处理软件,效果,电脑软件,本教程中的字符HD处理分为三个步骤:第一步是用阴影/高光增加图片的明暗度,第二步是增强色彩饱和度的图片饱和度,适当增加颜色对比度等第三步。 原 最终效果 1。打开原材料,执行图像层;图像菜单调节,阴影高光;阴…