几种常用的DB2循环用法

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

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

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

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

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

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

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

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

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

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

 

 

 

 

【编辑推荐】

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:17:42

DB2 Merge语句

2010-11-04 11:07:56

DB2管理命令

2010-08-26 11:37:38

DB2命令

2010-11-02 11:08:11

DB2循环查询

2010-08-20 10:26:25

DB2数据类型

2010-11-04 11:39:47

2010-09-07 08:27:17

DB2常用函数

2010-09-07 08:35:40

DB2常用函数

2010-08-19 11:33:43

DB2常用函数

2011-03-11 17:52:33

DB2命令

2010-11-03 11:55:23

DB2公共表表达式

2010-08-18 08:53:23

DB2 SELECT语

2010-08-03 12:58:29

DB2游标循环

2010-09-30 10:13:35

DB2常用命令

2010-11-04 12:00:59

db2存储过程

2010-08-10 10:23:16

IBM DB2 V9.

2010-08-16 10:10:27

DB2常用函数
点赞
收藏

51CTO技术栈公众号