文档详情

DB2存储过程使用动态游标的例子.docx

发布:2021-11-11约1.58千字共2页下载文档
文本预览下载声明
本文将为您介绍一个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 AA记A录;-程- 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处=理[||stat出e|错|],错||误  代码 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 stat找e=到 end; --声明结束 0 行记录或已经到记录结尾.; SET state=[ad单d]独测试中,统计条数; SET SQLStmt=SELECT count(*) FROM wtp_pre_download where task_timestamp = ?; PREPARE stmt1 FROM SQLStmt; OPEN c1 USING in_taskid_timestamp; FETCH c1 INTO t_destnetid; CLOSE c1; SET state=[ad查d]具体信息; SET at_end = 0; SET SQLStmt=SELECT recv_userid FROM wtp_pre_download where task_timestamp = ?;  PREPARE c1 FROM SQLStmt; OPEN c1 USING in_taskid_timestamp; SET state=[add]************; FETCH c1 INTO t_recvid; SET state=[add]============; insert into fcc_sp_log(object,name,value) values(SP_Name,in_taskid_timestamp,t_recvid); END p1
显示全部
相似文档