(很急)如何一次取oracle游标中的多行值
定义一个游标,返回多行值(只有一列),如何一次取出这列的多行值?比如:游标curselectidfromxxx;id101102103如何一次取出101,102,103来...
定义一个游标,返回多行值(只有一列),如何一次取出这列的多行值?比如:游标cur select id from xxx;id
101
102
103
如何一次取出 101,102,103 来进行操作。请各位大侠指点 展开
101
102
103
如何一次取出 101,102,103 来进行操作。请各位大侠指点 展开
2个回答
2014-07-13
展开全部
LIMIT 后面的数字,意味着每一批加载多少数据。
DECLARE
2 -- 定义类型.
3 TYPE test_type IS TABLE OF test_main%ROWTYPE;
4 test_data test_type;
5 -- 定义游标.
6 CURSOR c_test_main IS
7 SELECT id, value FROM test_main;
8 BEGIN
9 -- 打开游标.
10 OPEN c_test_main;
11 -- 开始循环
12 LOOP
13 -- 填充数据 批量填充,每次读取2条.
14 FETCH c_test_main
15 BULK COLLECT INTO test_data LIMIT 2;
16
17 -- 调试输出.
18 FOR i IN 1..test_data.count
19 LOOP
20 dbms_output.put_line(test_data(i).value);
21 END LOOP;
22
23 -- 当没有数据的时候,退出。
24 EXIT WHEN c_test_main%NOTFOUND;
25
26 END LOOP;
27 -- 关闭游标.
28 CLOSE c_test_main;
29 END;
30 /
ONE
TWO
THREE
PL/SQL 过程已成功完成。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询