DB2預存程序模版

來源:互聯網
上載者:User
1、日誌表 create table joblog(jobfun varchar(50),      --預存程序的功能procname varchar(100),   --預存程序runtime varchar(50),     --已耗用時間currentuser varchar(50), --目前使用者state varchar(4),        --狀態ChangeRecordsNum integer --受影響行數)state代表:--Joblog stats =0  正在執行--Joblog stats =1  預存程序正常結束--Joblog stats =8  有其他過程正在執行,中斷--Joblog stats =9  預存程序異常終止2、預存程序模板create PROCEDURE YY_Proc01 (IN FromDate integer)--Joblog stats =0  running--Joblog stats =1  Finish right--Joblog stats =8  Finish cause by another running--Joblog stats =9  Stop with exceptionLANGUAGE sqlYY_Proc:begin    declare  JobFun varChar(50) default 'Delete W02 CINACC';--    declare ChangeRecordsNum integer default 0 ;    declare flag integer default 0;--考慮作為返回參數    declare SQLSTATE char(5);    declare at_end integer default 0;    declare not_found condition for SQLSTATE '02000';       declare MyCur cursor for < ..select..>;    /**********異常處理************/    declare exit HANDLER FOR SQLEXCEPTION    begin        rollback;        insert into joblog values(JobFun,'YY_Proc01',(select current timestamp from sysibm.sysdummy1),                         (select user from sysibm.sysdummy1),'9',0);--執行遇到異常        set flag=1;        return flag;    end;    declare CONTINUE HANDLER FOR  not_found    begin          set at_end=1;    end;    /***************************/            set flag = 0;    --開始工作 insert into logs    insert into joblog values(JobFun,'YY_Proc01',(select current timestamp from sysibm.sysdummy1),                         (select user from sysibm.sysdummy1),'0',0);     OPEN  MyCur;    set at_end=0;    FETCH MyCur INTO ans;    WHILE at_end=0 DO        --your work        SET at_end = 0;        --迴圈受影響行        Set ChangeRecordsNum = ChangeRecordsNum+1;        FETCH MyCur INTO ans;    END WHILE;    CLOSE MyCur;    --順利執行完畢    insert into joblog values(JobFun,'YY_Proc01',(select current timestamp from sysibm.sysdummy1),                         (select user from sysibm.sysdummy1),'1',ChangeRecordsNum);        commit;    set flag=0;    return flag;end YY_Proc

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.