DB2存储过程中对动态游标的正确使用方案

数据库
以下的文章主要是介绍DB2存储过程中对动态游标的正确使用,以及对其在实际操作中所要用到的实际操作代码的详细描述。

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

  1. CREATE PROCEDURE data_wtptest( IN in_taskid_timestamp varchar(30),  
  2. OUT o_err_no int,  
  3. OUT o_err_msg varchar(1024))  
  4. LANGUAGE SQL  
  5. P1: BEGIN ATOMIC  

 

声明开始

 

临时变量出错变量

 

  1. DECLARE SQLCODE integer default 0;  
  2. DECLARE SQLStmt varchar(1024) default '';  
  3. DECLARE r_code integer default 0;  
  4. DECLARE state varchar(1024) default 'AAA'; 

记录程序当前所作工作

  1. DECLARE at_end int DEFAULT 0;  
  2. DECLARE t_destnetid int default 0;  
  3. DECLARE t_recvid varchar(30) default '';  
  4. DECLARE SP_Name varchar(50) default 'data_integrate'; 

声明DB2存储过程中放游标的值

 

声明动态游标存储变量

 

  1. DECLARE stmt1 STATEMENT;  
  2. DECLARE c1 CURSOR FOR stmt1; 

声明出错处理

  1. DECLARE EXIT HANDLER FOR SQLEXCEPTION  
  2. begin  
  3. set r_code=SQLCODE;  
  4. set o_err_no=1

set o_err_msg='处理['||state||']出错 ,'||'错误代码SQLCODE:['||CHAR(r_code) || '].';

 

  1. insert into fcc_sp_log(object,name,value) values(SP_Name,in_taskid_timestamp,o_err_msg);  
  2. end;  
  3. DECLARE continue HANDLER for not found  
  4. begin  
  5. set at_end = 1

set state='找到0行记录或已经到记录结尾.';

 

end;

 

声明结束

 

SET state='[add]单独测试中中,统计条数';

  1. SET SQLStmt='SELECT count(*) FROM wtp_pre_download where task_timestamp = ?';  
  2. PREPARE stmt1 FROM SQLStmt;  
  3. OPEN c1 USING in_taskid_timestamp;  
  4. FETCH c1 INTO t_destnetid;  
  5. CLOSE c1; 

SET state='[add]查具体信息';

  1. SET at_end = 0;  
  2. SET SQLStmt='SELECT recv_userid FROM wtp_pre_download where task_timestamp = ?';  
  3. PREPARE c1 FROM SQLStmt;  
  4. OPEN c1 USING in_taskid_timestamp;  
  5. SET state='[add]************';  
  6. FETCH c1 INTO t_recvid;  
  7. SET state='[add]============';  
  8. insert into fcc_sp_log(object,name,value) values(SP_Name,in_taskid_timestamp,t_recvid);  
  9. END p1 

以上的相关内容就是对DB2存储过程中使用动态游标的介绍,望你能有所收获。

 

责任编辑:佚名 来源: 比特网
相关推荐

2010-09-01 15:09:41

DB2动态游标

2010-09-01 15:15:20

DB2动态游标

2010-08-13 13:40:47

DB2编程序

2010-10-09 16:41:54

MYSQL存储过程

2010-04-23 13:45:14

Oracle存储过程

2011-04-15 13:12:08

DB2游标

2010-09-30 13:27:09

DB2游标

2010-08-31 15:39:25

DB2存储过程

2010-11-04 10:09:23

DB2存储过程

2010-11-03 10:35:45

DB2存储过程

2010-09-06 10:54:52

DB2 sql 存储过

2010-08-04 09:56:44

2010-08-25 09:56:02

DB2存储过程

2010-11-04 10:32:18

DB2游标原理

2010-08-31 15:03:28

DB2游标

2012-04-26 14:17:51

ibmdw

2010-08-06 13:20:00

DB2锁等待

2010-04-26 10:09:22

Oracle存储过程

2010-08-02 14:03:49

DB2驱动类型

2010-07-27 13:25:10

IBM DB2
点赞
收藏

51CTO技术栈公众号