本文將為您介紹在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_integrate';
聲明DB2存儲過程中放游標的值
聲明動態游標存儲變量
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 set at_end = 1;
set state='找到0行記錄或已經到記錄結尾.';