主頁(yè) > 知識(shí)庫(kù) > Oracle生成單據(jù)編號(hào)存儲(chǔ)過(guò)程的實(shí)例代碼

Oracle生成單據(jù)編號(hào)存儲(chǔ)過(guò)程的實(shí)例代碼

熱門標(biāo)簽:南通電銷外呼系統(tǒng)哪家強(qiáng) 地圖標(biāo)注的坐標(biāo)點(diǎn) 理財(cái)產(chǎn)品電銷機(jī)器人 外呼系統(tǒng)好點(diǎn)子 百度地圖標(biāo)注注解 電話機(jī)器人那種好 百度地圖標(biāo)注飯店位置怎么 上海網(wǎng)絡(luò)外呼系統(tǒng) 區(qū)域地圖標(biāo)注怎么設(shè)置

Oracle生成單據(jù)編號(hào)存儲(chǔ)過(guò)程,在做訂單類似的系統(tǒng)都可能會(huì)存在訂單編號(hào)不重復(fù),或是流水號(hào)按日,按年,按月進(jìn)行重新編號(hào)。

可以參考以下存儲(chǔ)過(guò)程

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生成單據(jù)編號(hào)存儲(chǔ)過(guò)程的實(shí)例代碼,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

您可能感興趣的文章:
  • oracle 存儲(chǔ)過(guò)程、函數(shù)和觸發(fā)器用法實(shí)例詳解
  • windows中oracle存儲(chǔ)過(guò)程加密的實(shí)例代碼
  • Oracle帶輸入輸出參數(shù)存儲(chǔ)過(guò)程(包括sql分頁(yè)功能)
  • oracle中print_table存儲(chǔ)過(guò)程實(shí)例介紹
  • Mybatis調(diào)用Oracle存儲(chǔ)過(guò)程的方法圖文詳解
  • 詳解Oracle調(diào)試存儲(chǔ)過(guò)程
  • Oracle存儲(chǔ)過(guò)程和存儲(chǔ)函數(shù)創(chuàng)建方法(詳解)
  • Oracle存儲(chǔ)過(guò)程及調(diào)用
  • Oracle存儲(chǔ)過(guò)程、包、方法使用總結(jié)(推薦)
  • Oracle數(shù)據(jù)庫(kù)創(chuàng)建存儲(chǔ)過(guò)程的示例詳解

標(biāo)簽:昭通 遼源 海東 寧波 自貢 中衛(wèi) 紹興 百色

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Oracle生成單據(jù)編號(hào)存儲(chǔ)過(guò)程的實(shí)例代碼》,本文關(guān)鍵詞  Oracle,生成,單據(jù),編號(hào),存儲(chǔ),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Oracle生成單據(jù)編號(hào)存儲(chǔ)過(guò)程的實(shí)例代碼》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Oracle生成單據(jù)編號(hào)存儲(chǔ)過(guò)程的實(shí)例代碼的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章