濮阳杆衣贸易有限公司

主頁 > 知識庫 > Oracle生成單據(jù)編號存儲過程的實例代碼

Oracle生成單據(jù)編號存儲過程的實例代碼

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

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

可以參考以下存儲過程

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ù)編號存儲過程的實例代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

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

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

巨人網(wǎng)絡(luò)通訊聲明:本文標題《Oracle生成單據(jù)編號存儲過程的實例代碼》,本文關(guān)鍵詞  Oracle,生成,單據(jù),編號,存儲,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Oracle生成單據(jù)編號存儲過程的實例代碼》相關(guān)的同類信息!
  • 本頁收集關(guān)于Oracle生成單據(jù)編號存儲過程的實例代碼的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    文成县| 湘潭市| 察哈| 武城县| 辽宁省| 舞阳县| 繁昌县| 广州市| 和平县| 衡水市| 麻城市| 巴青县| 商水县| 霍邱县| 乌兰县| 石阡县| 常德市| 福鼎市| 中卫市| 安化县| 汾西县| 罗平县| 渝北区| 弋阳县| 临城县| 巩义市| 阳城县| 洪雅县| 张家界市| 江津市| 江孜县| 湘阴县| 斗六市| 乌拉特后旗| 渝北区| 淳化县| 屯昌县| 南安市| 甘洛县| 永登县| 赣榆县|