oracle中open cursor for 和for cursor in有什么区别
答案:1 悬赏:80 手机版
解决时间 2021-12-01 05:44
- 提问者网友:黑米和小志
- 2021-11-30 10:22
oracle中open cursor for 和for cursor in有什么区别
最佳答案
- 五星知识达人网友:第幾種人
- 2021-11-30 10:39
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;
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯