此文章主要介绍的是DB2存储过程中对动态游标的正确使用,相信如果你掌握了DB2存储过程中对动态游标的正确使用这项技术,会在以后的学习或是工作中带来很大的帮助,以下就是文章的主要内容的详细描述。

创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于网站制作、成都网站设计、衡山网络推广、成都小程序开发、衡山网络营销、衡山企业策划、衡山品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联公司为所有大学生创业者提供衡山建站搭建服务,24小时服务热线:13518219792,官方网址:www.cdcxhl.com
- 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行记录或已经到记录结尾.';
end;
声明结束
SET state='[add]单独测试中中,统计条数';
- 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='[add]查具体信息';
- 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
 
以上的相关内容就是对DB2存储过程中使用动态游标的介绍,望你能有所收获。
Copyright © 2009-2022 www.wtcwzsj.com 青羊区广皓图文设计工作室(个体工商户) 版权所有 蜀ICP备19037934号