几种常用的DB2循环用法

数据库
DB2数据库中,循环可以用在很多的地方,比如在存储过程、游标中使用等等。下文就介绍了几种DB2循环用法,供您参考借鉴之用。

DB2循环的用途在DB2数据库中是很广泛的,下面就为您介绍四种常见的DB2循环用法,希望可以在您学习DB2循环方面有所帮助。

1.利用得到的游标在存储过程中循环:

DECLARE CUR_FEESET CURSOR WITH RETURN TO CALLER FOR (  
SELECT  
--  
FROM 表  
WHERE 条件  
);  
OPEN CUR_FEESET;--得到游标  
--得到游标记录数  
SELECT  
count(CIF_CSTNO)  
into v_count  
FROM CB_CSTINF A ,CB_CSTBSNINF B  
WHERE A.CIF_STT<>'3' AND A.CIF_CSTNO = B.CBI_CSTNO ;   --  
FETCH CUR_FEESET INTO V_CSTNO,V_FEECODE,V_CSTLEVEL,V_FEEMODE;--  
WHILE V_COUNT>0 DO  
     ……..  
FETCH CUR_FEESET INTO V_CSTNO,V_FEECODE,V_CSTLEVEL,V_FEEMODE;--  
END WHILE; --  
 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.

2.另一种db2标准循环格式(leave、iterate 用法):

SET V_COUNT = LENGTH(V_VALIDAUTHCOMBOS);--  
 
SET V_INDEX = 0;--  
 
AUTHLOOP:  
LOOP  
      IF V_INDEX >= V_COUNT THEN  
LEAVE AUTHLOOP;--相当于break  
      END IF;--  
....  
      SET V_INDEXV_INDEX = V_INDEX + 1;--  
      .......  
      IF 条件 THEN  
     ITERATE AUTHLOOP;-- 相当于continue  
      END IF;--  
END LOOP;--  
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.

3.截取字符串的循环(设V_TEMP=‘CB1001|CB1002|CB1003|’):

SET V_LENGTH = LENGTH(V_TEMP);  
    WHILE V_LENGTH>0 DO   
SET V_POS = POSSTR(V_TEMP,'|');  
SET V_CURRENT_BSN = SUBSTR( V_TEMP, 1, V_POS-1 );  
SET V_TEMP = SUBSTR( V_TEMP, V_POS+1 );  
SET V_LENGTH = LENGTH(V_TEMP);   
--最后一个字段,不再截取  
SET V_BSNTYPE = V_CURRENT_BSN;  
    END WHILE;    
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.

4.游标循环(不用open 游标):

DROP PROCEDURE TESTFOR;  
    CREATE PROCEDURE TESTFOR()  
    LANGUAGE SQL  
    BEGIN  
    DECLARE V_TEMP1 VARCHAR(2);  
    DECLARE V_TEMP2 VARCHAR(70);  
    FOR V1 AS CURSOR1 CURSOR FOR  
SELECT STUDENT_ID AS TEMP1,STUDENT_NAME AS TEMP2 FROM STUDENT  
    DO   
DELETE FROM STUDENT WHERE STUDENT_ID = TEMP1;  
SET V_TEMP1 = TEMP1;  
SET V_TEMP2 = TEMP2;  
    END FOR;  
    COMMIT;  
    END; 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.

 

 

 

 

【编辑推荐】

DB2创建数据库的实现

DB2目录视图说明

DB2创建表--带有自增列的表

DB2重命名表和查看表信息

DB2列转行的实现

责任编辑:段燃 来源: 互联网
相关推荐

2010-11-04 09:31:21

DB2循环语句

2010-08-25 15:13:22

DB2Oracle数据库

2010-09-30 15:52:55

DB2循环查询

2010-11-04 11:07:56

DB2管理命令

2010-11-04 11:17:42

DB2 Merge语句

2010-08-26 11:37:38

DB2命令

2010-08-20 10:26:25

DB2数据类型

2010-11-02 11:08:11

DB2循环查询

2010-11-04 11:39:47

2010-09-07 08:35:40

DB2常用函数

2010-09-07 08:27:17

DB2常用函数

2010-08-19 11:33:43

DB2常用函数

2010-08-18 08:53:23

DB2 SELECT语

2011-03-11 17:52:33

DB2命令

2010-11-03 11:55:23

DB2公共表表达式

2010-11-04 12:00:59

db2存储过程

2010-09-30 10:13:35

DB2常用命令

2010-08-03 12:58:29

DB2游标循环

2010-08-10 10:23:16

IBM DB2 V9.

2010-08-06 18:23:43

DB2常用函数
点赞
收藏

51CTO技术栈公众号