数码资讯
Oracle生成文档编号过程的示例代码
文件号oracle生成的存储过程,为了做一个类似的系统,可能存在订单号或序列号不重复,每日,每年,每月重新编号。 下列存储过程可参考 创建或替换 程序pro_getbillno(typetable在VARCHAR2,cur_mycursor出sys_refcursor) 作为 dreceiptcod
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
文件号oracle生成的存储过程,为了做一个类似的系统,可能存在订单号或序列号不重复,每日,每年,每月重新编号。
下列存储过程可参考
创建或替换
程序pro_getbillno(typetable在VARCHAR2,cur_mycursor出sys_refcursor)
作为
dreceiptcode VARCHAR2(40);
dreceiptname VARCHAR2(50);
dprefix1 VARCHAR2(50);
双VARCHAR2(50);
disautocreate VARCHAR2(20);
dprefix2 VARCHAR2(20);
dprefix3 VARCHAR2(20);
ddatevalue日期;
DNO数;
dlength数;
dresettype数;
dseparator VARCHAR2(20);
dreturnvalue VARCHAR2(50);
如何VARCHAR2(1000);
开始
dreturnvalue:=;
选择receiptcode
DReceiptCode,dreceiptname,dprefix1,疾病,disautocreate,dprefix2,dprefix3,ddatevalue,DNO,dlength,DResetType,DSeparator
sysreceiptconfig ,receiptcode= typetable;
如果to_number(dresettype)> 0
然后
如果disautocreate = 1
如果dresettype = 1然后根据年
如果to_number(to_char(SYSDATE,'yyyy '))< > to_number(to_char(ddatevalue,'yyyy '))然后
更新sysreceiptconfig 不= 1,datevalue= to_date(SYSDATE)在receiptcode= typetable;
其他的
更新sysreceiptconfig 没有=没有+ 1receiptcode= typetable;
如果一年的结束;
最后,如果dresettype = 1;
如果dresettype = 2 -个月
如果to_number(to_char(SYSDATE,'mm '))< > to_number(to_char(ddatevalue,'mm '))然后
更新sysreceiptconfig 不= 1,datevalue= to_date(SYSDATE)在receiptcode= typetable;
其他的
更新sysreceiptconfig 没有=没有+ 1receiptcode= typetable;
月底
最后,如果dresettype = 2;
如果dresettype = 3然后--白天
如果to_number(to_char(SYSDATE,'dd '))< > to_number(to_char(ddatevalue,'dd '))然后
更新sysreceiptconfig 不= 1,datevalue= to_date(SYSDATE)在receiptcode= typetable;
其他的
更新sysreceiptconfig 没有=没有+ 1receiptcode= typetable;
月底
最后,如果dresettype = 3;
其他的
更新sysreceiptconfig 没有=没有+ 1receiptcode= typetable;
如果;-- DResetType
最后如果;
StrSql:= 'select *sysreceiptconfig 1=1;
StrSql:=如何| |receiptcode=| | typetable | | ';
对于如何打开cur_mycursor;
结束;
以上是Oracle生成文档编号存储过程的示例代码,这是萧边介绍的。希望能对你有所帮助。如果你有任何问题,请给我留言,萧边会及时给您回复。谢谢您支持网站。
下列存储过程可参考
创建或替换
程序pro_getbillno(typetable在VARCHAR2,cur_mycursor出sys_refcursor)
作为
dreceiptcode VARCHAR2(40);
dreceiptname VARCHAR2(50);
dprefix1 VARCHAR2(50);
双VARCHAR2(50);
disautocreate VARCHAR2(20);
dprefix2 VARCHAR2(20);
dprefix3 VARCHAR2(20);
ddatevalue日期;
DNO数;
dlength数;
dresettype数;
dseparator VARCHAR2(20);
dreturnvalue VARCHAR2(50);
如何VARCHAR2(1000);
开始
dreturnvalue:=;
选择receiptcode
DReceiptCode,dreceiptname,dprefix1,疾病,disautocreate,dprefix2,dprefix3,ddatevalue,DNO,dlength,DResetType,DSeparator
sysreceiptconfig ,receiptcode= typetable;
如果to_number(dresettype)> 0
然后
如果disautocreate = 1
如果dresettype = 1然后根据年
如果to_number(to_char(SYSDATE,'yyyy '))< > to_number(to_char(ddatevalue,'yyyy '))然后
更新sysreceiptconfig 不= 1,datevalue= to_date(SYSDATE)在receiptcode= typetable;
其他的
更新sysreceiptconfig 没有=没有+ 1receiptcode= typetable;
如果一年的结束;
最后,如果dresettype = 1;
如果dresettype = 2 -个月
如果to_number(to_char(SYSDATE,'mm '))< > to_number(to_char(ddatevalue,'mm '))然后
更新sysreceiptconfig 不= 1,datevalue= to_date(SYSDATE)在receiptcode= typetable;
其他的
更新sysreceiptconfig 没有=没有+ 1receiptcode= typetable;
月底
最后,如果dresettype = 2;
如果dresettype = 3然后--白天
如果to_number(to_char(SYSDATE,'dd '))< > to_number(to_char(ddatevalue,'dd '))然后
更新sysreceiptconfig 不= 1,datevalue= to_date(SYSDATE)在receiptcode= typetable;
其他的
更新sysreceiptconfig 没有=没有+ 1receiptcode= typetable;
月底
最后,如果dresettype = 3;
其他的
更新sysreceiptconfig 没有=没有+ 1receiptcode= typetable;
如果;-- DResetType
最后如果;
StrSql:= 'select *sysreceiptconfig 1=1;
StrSql:=如何| |receiptcode=| | typetable | | ';
对于如何打开cur_mycursor;
结束;
以上是Oracle生成文档编号存储过程的示例代码,这是萧边介绍的。希望能对你有所帮助。如果你有任何问题,请给我留言,萧边会及时给您回复。谢谢您支持网站。
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。