本文将为您介绍一个
DB2
存储过程使用动态游标的例子,如果您对动态游标的使用感
兴趣的话,不妨一看,对您学习
DB2
的使用会有所帮助。
CREATE PROCEDURE data_wtptest( IN in_taskid_timestamp varchar(30),
OUT o_err_no int,
OUT o_err_msg varchar(1024))
LANGUAGE SQL
P1: BEGIN ATOMIC
--
声明开始
--
临时变量出错变量
DECLARE SQLCODE
integer default 0;
DECLARE SQLStmt
varchar(1024) default '';
DECLARE r_code
integer default 0;
DECLARE state
varchar(1024) default 'AAA';--
记录程序当前所作工作
DECLARE at_end
int DEFAULT 0;
DECLARE t_destnetid
int default 0;
DECLARE t_recvid
varchar(30) default '';
DECLARE SP_Name
varchar(50) default 'data_wtptest';
--
声明放游标的值
--
声明动态游标存储变量
DECLARE stmt1 STATEMENT;
DECLARE c1 CURSOR FOR stmt1;
--
声明出错处理
DECLARE EXIT HANDLER FOR SQLEXCEPTION
begin
set r_code=SQLCODE;
set o_err_no=1;
set o_err_msg='
处理
['||state||']
出错
,'||'
错误代码
SQLCODE:['||CHAR(r_code) || '].';
insert into fcc_sp_log(object,name,value)
values(SP_Name,in_taskid_timestamp,o_err_msg);
end;
DECLARE continue HANDLER for not found
begin