Oracle生成单据编号存储过程,在做订单类似的系统都可能会存在订单编号不重复,或是流水号按日,按年,按月进行重新编号。

可以参考以下存储过程

CREATE OR REPLACE

procedure Pro_GetBillNO(TypeTable in varchar2,cur_mycursor out sys_refcursor)

as

DReceiptCode varchar2(40);

DReceiptName varchar2(50);

DPrefix1 varchar2(50);

DISO varchar2(50);

DIsAutoCreate varchar2(20);

DPrefix2 varchar2(20);

DPrefix3 varchar2(20);

DDateValue date;

DNO number;

DLength number;

DResetType number;

DSeparator varchar2(20);

DReturnValue varchar2(50);

strSql varchar2(1000);

begin

DReturnValue:='';

select "ReceiptCode","ReceiptName","Prefix1","ISO","IsAutoCreate","Prefix2","Prefix3","DateValue","NO","Length","ResetType","Separator" into

DReceiptCode,DReceiptName,DPrefix1,DISO,DIsAutoCreate,DPrefix2,DPrefix3,DDateValue,DNO,DLength,DResetType,DSeparator from

"SysReceiptConfig" where "ReceiptCode"=TypeTable;

if to_number(DResetType)>0

then

if DIsAutoCreate=1 THEN

if DResetType=1 then --按年份

if to_number(to_char(sysdate,'yyyy')) <>to_number(to_char(DDateValue,'yyyy')) then

update "SysReceiptConfig" set "NO"=1,"DateValue"=to_date(sysdate) where "ReceiptCode"=TypeTable;

else

update "SysReceiptConfig" set "NO"="NO"+1 where "ReceiptCode"=TypeTable;

end if; --年份

end if;--DResetType=1

if DResetType=2 then --按月份

if to_number(to_char(sysdate,'MM')) <>to_number(to_char(DDateValue,'MM')) then

update "SysReceiptConfig" set "NO"=1,"DateValue"=to_date(sysdate) where "ReceiptCode"=TypeTable;

else

update "SysReceiptConfig" set "NO"="NO"+1 where "ReceiptCode"=TypeTable;

end if; --月份

end if;--DResetType=2

if DResetType=3 then --按日

if to_number(to_char(sysdate,'dd')) <>to_number(to_char(DDateValue,'dd')) then

update "SysReceiptConfig" set "NO"=1,"DateValue"=to_date(sysdate) where "ReceiptCode"=TypeTable;

else

update "SysReceiptConfig" set "NO"="NO"+1 where "ReceiptCode"=TypeTable;

end if; --月份

end if;--DResetType=3

else

update "SysReceiptConfig" set "NO"="NO"+1 where "ReceiptCode"=TypeTable;

end if;--DResetType

end if;

strSql:=' select * from "SysReceiptConfig" where 1=1 ';

strSql:=strSql ||' and "ReceiptCode"='''||TypeTable||'''';

open cur_mycursor for strSql;

end;

以上所述是小编给大家介绍的Oracle生成单据编号存储过程的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

oracle存储过程生成单号,Oracle生成单据编号存储过程的实例代码相关推荐

  1. oracle存储过程插入自动编号,Oracle生成单据编号存储过程的实例代码

    Oracle生成单据编号存储过程,在做订单类似的系统都可能会存在订单编号不重复,或是流水号按日,按年,按月进行重新编号. 可以参考以下存储过程 0 then if DIsAutoCreate=1 TH ...

  2. 金蝶K3 Wise 用SQL生成单号(单据编号)及单据内码(单据ID)

    很多开发会自己用数据库跟踪去分析实现原理或步进脚本其实大可不必这么麻烦, 因金蝶K3Wise后台数据库本身有自就有已写好的存储过程,我们可以直接调用的. 1.生成单据编号 --存储过程 p_BM_Ge ...

  3. vue注册全局方法:生成单号------年月日(4+2+2)+随机数n位 (前端生成单号,从接口取单号)

    vue注册全局方法:生成单号------年月日(4+2+2)+随机数n位 1.写方法 2.全局注册 3.页面中使用此方法 1.写方法 因为再vue中多次用到此方法,故而创建一个公用的文件内含多次被调用 ...

  4. python生成订单号或生成任意序列

    python生成订单号或生成任意序列 示例代码: import time# 生成订单号 def get_order_code():# 年月日时分秒+time.time()的后7位order_no = ...

  5. 金蝶k3单据编码规则_金蝶K3 Wise 用SQL生成单号(单据编号)及单据内码(单据ID)

    一生成各种单据的编号 详细实现过程参见存储过程p_BM_GetBillNo ICBillNo表存放所有单据的编码信息,其中FBillID用于p_BM_GetBillNo的第一个参数 以采购申请单为例, ...

  6. 金蝶k3单据编码规则_金蝶K3 Wise 用SQL生成单号(单据编号)及单据内码(单据ID) -...

    一生成各种单据的编号 详细实现过程参见存储过程p_BM_GetBillNo ICBillNo表存放所有单据的编码信息,其中FBillID用于p_BM_GetBillNo的第一个参数 以采购申请单为例, ...

  7. 根据快递单号,生成快递单号

    /*** 生成快递单号* * @param str* 第一个快递单号* @param w* 递增的个数,或递减的个数* @param status* 判断是递增还是递减 1 = 递增 else = 递 ...

  8. oracle 多个单引号,oracle多个单引号的处理

    oracle多个单引号的处理 oracle多个单引号的处理 在ORACLE中,单引号有两个作用,一是字符串是由单引号引用,二是转义.单引号的使用是就近配对,即就近原则.而在单引号充当转义角色时相对不好 ...

  9. oracle获取序列跳号,Oracle sequence跳号知多少

    Sequence是oracle中的一个非常常用的功能,开发经常会频繁使用.但是在生产环境中经常有应用反馈通过sequence生成的自增主键会出现不连续跳号的现象,而且是几十个几十个地跳,为了弄清楚se ...

最新文章

  1. 069:ORM查询条件详解-isnull和regex
  2. java mysql 占位符_在Java中编写带占位符的SQL语句
  3. SSD配置+训练VOC0712+训练自己的数据集
  4. 哪些类继承了Collection接口
  5. php比例算法,图片比例转换算法
  6. redis通过expire设置存活期注意问题
  7. 用博弈论的思想玩游戏(洛谷P3150题题解,Java语言描述)
  8. Android开发问题集锦-Button初始为disable状态时自定义的selector不生效问题
  9. 优雅的使用springboot集成任务调度
  10. hive根据已有表创建新表_读取Hive中所有表的表结构,并在新Hive库中创建表,索引等...
  11. 经济金融学之1宏观经济学
  12. 机器人学导论学习笔记No.1-第一章 :概述
  13. 企业级docker仓库Harbor在kubernetes上搭建使用
  14. Excel PivotTable 使用心得手顺分享(三)
  15. 中国农业生物多样性危机-农业大健康·蒋高明:谋定生态安全
  16. 单片机彩灯移动实验_实验一 单片机彩灯控制器的电路设计与仿真
  17. UESToj 1057 秋实大哥与花 ( 线段树
  18. EasyUI 增删改查完全详细
  19. 机械工业c语言教程pdf,新编C语言程序计教程(机械工业出版社 钱雪忠 吕莹楠).doc...
  20. 鸿蒙电视发布会,鸿蒙发布会:无论设备大小 只需一个系统!

热门文章

  1. CI框架 -- 网页缓存
  2. 不知道当前谁激活键盘时的隐藏键盘方法
  3. 让Jexus支持高并发请求的优化技巧
  4. 怎样解决MySQL数据库主从复制延迟的问题
  5. python3 requests 错误EOF occurred in violation of protocol 解决方法
  6. python jenkins库 api简介
  7. python3 处理 html转义字符
  8. linux shell 运算符 | || () {}
  9. goland 远程调试 golang
  10. Linux下tar.xz压缩解压