oracle的游标用法,for循环游标和fetch into用法上有什么区别

 我来答
Andy_Sun321
2014-11-11 · TA获得超过1376个赞
知道小有建树答主
回答量:811
采纳率:89%
帮助的人:727万
展开全部

在oracle中游标可以使用for来进行循环,也可以使用fetch方式来循环。

游标的for循环是oracle所有的一个便利的游标操作功能,用for游标循环,可以省去打开游标,关闭游标等操作,而将注意力放在游标循环内的处理上;而且可以不定义游标,直接使用一个子查询作为for循环的游标。例如:

for rc in (select field_a, field_b from table_name) loop
-- 循环处理 
end loop;
逗比小蘑
推荐于2017-11-29 · TA获得超过4629个赞
知道小有建树答主
回答量:688
采纳率:0%
帮助的人:1124万
展开全部
CREATE TABLE test_main (
id INT,
value VARCHAR(10),
PRIMARY KEY(id)
);

INSERT INTO test_main(id, value) VALUES (1, 'ONE');
INSERT INTO test_main(id, value) VALUES (2, 'TWO');
INSERT INTO test_main(id, value) VALUES (3, 'THREE');

DECLARE
-- 定义游标.
CURSOR c_test_main IS
SELECT id, value FROM test_main;
-- 保存游标数据的变量
v_main_data c_test_main%ROWTYPE;
BEGIN
-- 打开游标.
OPEN c_test_main;
LOOP
-- 填充数据(主表).
FETCH c_test_main INTO v_main_data;
-- 假如没有检索到(主表)数据,结束循环处理
Exit when c_test_main%NOTFOUND;

dbms_output.put_line(TO_CHAR(v_main_data.id)
|| ':' || v_main_data.value );

END LOOP;
-- 关闭游标
CLOSE c_test_main;
END;
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式