由于有时候一些复杂的业务逻辑将要通过存储过程的循环语句进行处理;以下列出2种DB2存储过程的循环语句,方便以后的查看并使用!
本人推荐第一种方式的使用,最大的优点就是比较直观;在需要操作很多字段的情况下,不需要定义太多的字段变量作为中间存储媒介.
一.FOR方式(FOR .. AS [游标名] CURSOR FOR [SELECT......])
BEGIN --语句块,必须要加上,否则会出错. FOR V AS MYCURSOR CURSOR FOR SELECT ID,NAME,AGE FROM PEOPLE DO BEGIN --这里进行业务逻辑处理,每行循环的时候,每列的值将会存放于V变量中 --示例: 把数据插入到另外一张表 INSERT INTO PERSON(NAME,AGE) VALUES(V.NAME,V.AGE); END; END FOR; END;
二.WHILE方式(DECLARE [游标名] CURSOR FOR [SELECT.....])
BEGIN --语句块,必须要加上,否则会出错. DECLARE NOTFOUND INT DEFAULT 0; DECLARE V_NAME VARCHAR(20); DECLARE V_AGE VARCHAR(20); DECLARE MYCURSOR CURSOR FOR SELECT NAME,AGE FROM PEOPLE; DECLARE CONTINUE HANDLER FOR NOT FOUND SET NOTFOUND = 1; WHILE NOTFOUND = 0 DO FETCH MYCURSOR INTO V_NAME,V_AGE --这里的顺序要与查询结果字段顺序一致 --这里会多循环一次,所以需要加一个判断 IF(NOTFOUND = 0) THEN INSERT INTO PERSON(NAME,AGE) VALUES(V_NAME,V_AGE); END IF; END WHILE; END;
参考:
http://www.cnblogs.com/javalism/p/3511742.html
相关推荐
在存储过程中,可以使用游标来处理查询结果集,并通过循环来遍历这些结果。 9. **示例应用** - **用户管理**:创建一个存储过程用于添加新用户,验证用户名的唯一性。 - **数据分析**:创建一个存储过程,计算...
7. `存储过程关于loop的说明.txt`:此文本文件可能深入探讨了在DB2存储过程中使用循环结构(如WHILE或FOR loops)的方法,如何处理循环中的数据,以及如何控制流程控制。 通过这些文件,你可以学习到DB2数据库系统...
- **SPM**:存储过程管理器(Stored Procedure Manager),是DB2中用于管理存储过程的工具和服务。 - **FCM**:文件控制模块(File Control Module),用于管理DB2数据库中的文件系统。 - **ADSM**:自动数据服务管理...
3. **看存储过程文本:** 使用`DB2 DESCRIBE PROCEDURE`命令可以查看存储过程的文本。 4. **看表结构:** 使用`DB2 DESCRIBE TABLE`命令可以查看表的结构。 5. **看表的索引信息:** 使用`DB2 DESCRIBE INDEXES FOR ...
这使得在游标遍历过程中可以直接更新对应记录,提高了代码的灵活性。 DB2的编程技巧涉及到的方面远不止这些,还包括索引优化、事务管理、错误处理等高级主题。了解并熟练运用这些技巧,可以显著提高DB2应用程序的...
##### 13.5 遍历循环游标 遍历游标中的每一行数据: ```sql DECLARE CURSOR cur_name IS SELECT * FROM table_name; v_row cur_name%ROWTYPE; BEGIN OPEN cur_name; LOOP FETCH cur_name INTO v_row; EXIT ...
db2 IBM DB2在企业级的应用最为广泛, 在全球的500家最大的企业中,几乎85%以上用DB2数据库服务器。收费 大型企业 Access 微软 Access是一种桌面数据库,只适合数据量少的应用,在处理少量 数据和单机访问的数据库时...