oracle中open cursor for 和for cursor in有什么区别
1个回答
2016-03-23 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
oracle中open cursor for 和for cursor in的区别如下:
open cursor for 是直接打开游标查询结果,适用于单表查询,结果集一般不会太大。
for cursor in是从大量数据中循环获取满足条件的记录,放入游标
1、open cursor for 用法:
CREATE OR REPLACE PROCEDURE AMLS.TEST(C_RES OUT SYS_REFCURSOR) AS
BEGIN
OPEN C_RES FOR //打开游标
SELECT * FROM MAJOR.TB_CUST_CODE;
END TEST;
2、for cursor in用法
V_CURSOR SYS_REFCURSOR;
V1 MAJOR.TB_CUST_CODE%ROWTYPE;
BEGIN
AMLS.TEST(V_CURSOR);
LOOP
FETCH V_CURSOR
INTO V1;
EXIT WHEN V_CURSOR%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(V1.CUST_NAME);
END LOOP;
open cursor for 是直接打开游标查询结果,适用于单表查询,结果集一般不会太大。
for cursor in是从大量数据中循环获取满足条件的记录,放入游标
1、open cursor for 用法:
CREATE OR REPLACE PROCEDURE AMLS.TEST(C_RES OUT SYS_REFCURSOR) AS
BEGIN
OPEN C_RES FOR //打开游标
SELECT * FROM MAJOR.TB_CUST_CODE;
END TEST;
2、for cursor in用法
V_CURSOR SYS_REFCURSOR;
V1 MAJOR.TB_CUST_CODE%ROWTYPE;
BEGIN
AMLS.TEST(V_CURSOR);
LOOP
FETCH V_CURSOR
INTO V1;
EXIT WHEN V_CURSOR%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(V1.CUST_NAME);
END LOOP;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询