DB2儲存過程模版

2022-02-03 12:56:55 字數 2778 閱讀 9838

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 exception

language sql

yy_proc:

begin

declare jobfun varchar(50) default

'delete w02 cinacc

';--

declare changerecordsnum integer

default0;

declare flag integer

default

0;--

考慮作為返回引數

declare sqlstate char(5

);

declare at_end integer

default0;

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=0do

--your work

set at_end =0;

--迴圈受影響行

set changerecordsnum = changerecordsnum+1;

fetch mycur into

ans;

endwhile

;

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

db2儲存過程批量插入資料 db2儲存過程批量更新

db2儲存過程批量更新 雲伺服器 elastic compute service,簡稱ecs 是阿里雲提供的效能卓越 穩定可靠 彈性擴充套件的iaas infrastructure as a service 級別雲計算服務。雲伺服器ecs免去了您採購it硬體的前期準備,讓您像使用水 電 天然氣等公共...

db2儲存過程批量插入資料 db2儲存過程批量提交

db2儲存過程批量提交 雲伺服器 elastic compute service,簡稱ecs 是阿里雲提供的效能卓越 穩定可靠 彈性擴充套件的iaas infrastructure as a service 級別雲計算服務。雲伺服器ecs免去了您採購it硬體的前期準備,讓您像使用水 電 天然氣等公共...

DB2儲存過程雜談

db2常用的異常處理方式分為三種 undo 回滾 exit 退出 continue 繼續執行 declare undo exit continue handler for 異常處理的物件可以為針對指定的sqlstate declare undo exit continue handler for s...