隐式游标是在执行查询时由Oracle自动创建的。代码更简单,但却受到影响
>无效率(ANSI标准规定必须提取两次以检查是否有多个记录)
>数据错误的漏洞(如果你有两行,它会引发一个TOO_MANY_ROWS异常)
例
SELECT col INTO var FROM table WHERE something;
显式光标是您自己创建的光标。它需要更多的代码,但提供更多的控制 – 例如,如果您只想要第一条记录,并且不在乎是否还有其他记录,您可以打开 – 关闭。
例
DECLARE CURSOR cur IS SELECT col FROM table WHERE something; BEGIN OPEN cur; FETCH cur INTO var; CLOSE cur; END;