首页  ·  知识 ·  数据库
DB2数据库对动态游标的使用
网友   http://soft.chinabyte.com/database/386/11520386.shtml  DB2  编辑:德仔   图片来源:网络
 CREATE PROCEDURE data_wtptest( IN in_taskid_timestamp varchar(30),   OUT o_err_no int, OUT o_err_msg varchar(1
 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
 
本文作者:网友 来源: http://soft.chinabyte.com/database/386/11520386.shtml
CIO之家 www.ciozj.com 微信公众号:imciow
   
免责声明:本站转载此文章旨在分享信息,不代表对其内容的完全认同。文章来源已尽可能注明,若涉及版权问题,请及时与我们联系,我们将积极配合处理。同时,我们无法对文章内容的真实性、准确性及完整性进行完全保证,对于因文章内容而产生的任何后果,本账号不承担法律责任。转载仅出于传播目的,读者应自行对内容进行核实与判断。请谨慎参考文章信息,一切责任由读者自行承担。
延伸阅读