db2存储过程循环select结果集
时间: 2023-10-13 21:21:01 浏览: 124
db2存储过程
可以在 DB2 存储过程中使用游标来循环遍历 SELECT 语句的结果集。
以下是一个示例存储过程,它使用游标循环遍历 SELECT 语句的结果集,并对每一行进行处理:
```
CREATE PROCEDURE my_proc()
LANGUAGE SQL
BEGIN
DECLARE cur CURSOR WITH RETURN TO CALLER FOR
SELECT col1, col2, col3 FROM my_table;
DECLARE v_col1 INTEGER;
DECLARE v_col2 VARCHAR(50);
DECLARE v_col3 DATE;
OPEN cur;
FETCH cur INTO v_col1, v_col2, v_col3;
WHILE (SQLCODE = 0) DO
-- 处理每一行数据
-- 可以在此处编写自己的逻辑
-- ...
FETCH cur INTO v_col1, v_col2, v_col3;
END WHILE;
CLOSE cur;
END;
```
在这个存储过程中,首先通过 `DECLARE cur CURSOR` 声明一个游标,并通过 `WITH RETURN TO CALLER` 指定游标的结果集应该返回给调用者。然后通过 `OPEN cur` 打开游标,开始遍历结果集。
在循环体中,通过 `FETCH cur INTO` 语句将当前行的数据读取到变量中,并在 `WHILE` 循环中处理每一行数据。最后,在循环结束后通过 `CLOSE cur` 关闭游标。
注意,在游标遍历结束后,需要手动关闭游标,以释放资源。
阅读全文