【发布时间】:2019-09-24 13:15:55
【问题描述】:
在区分隐式游标和显式游标时,我感到非常困惑……请告诉我下面给出的都是隐式游标和显式游标。如果还有更多,请也提及...
提前谢谢...!
1)SELECT column_nm
INTO v_a
FROM table;
2)BEGIN
FOR i IN cursor_name
LOOP
--some logic
END LOOP;
END;
3)BEGIN
FOR i IN 1..10
LOOP
--some logic
END LOOP;
END;
4)BEGIN
FOR i IN (SELECT * FROM employees WHERE 1=2)
LOOP
--some logic
END LOOP;
END;
5)BEGIN
OPEN cursor_name...
FETCH...INTO...
EXIT WHEN...
--some logic
CLOSE cursor_name;
END;
/
【问题讨论】:
-
2+5 是显式的,1+4 是隐式的。有什么区别,可以看here
-
@hotfix 为什么第4个被称为隐式光标...是否有任何内存空间要存储。
-
因为你没有定义游标,pl/sql引擎会为你做。它还为您处理所有操作,例如打开、关闭、获取。并且您不能像显式光标一样使用名称来引用它
-
好的..但是当我为第 4 个像 SQL%ROWCOUNT 定义游标属性时,它将不起作用..现在我的问题是
'Implicit cursor work with attributes?'