oracle游标问题

cursor有隐式和显式之分,但我有点不太清楚,比方在程序里调用一句sql,比方最简单的select*fromtableName;进行整表查询,这时候sql真正在orac... cursor有隐式和显式之分,但我有点不太清楚,比方在程序里调用一句sql,比方最简单的select * from tableName;进行整表查询,这时候sql真正在oracle解析的时候会隐式的使用游标来解析么
显式的游标是不是就是存储过程定义的cursor呢
展开
 我来答
KKY12
2014-02-26 · TA获得超过1700个赞
知道小有建树答主
回答量:260
采纳率:0%
帮助的人:147万
展开全部
显式游标使用的是SELECT叙述,被声明于任何一个区块的声明段落中,开发者可以控制几乎所有与游标有关的操作。
显示游标对游标的处理提供了其他类似的游标无法做到的控制。他们要使用一次会传回多余一笔记录的SELECT叙述。
虽然他们提供了比隐式游标更多的控制,但也需要额外的步骤来操作。

PL/SQL为所有SQL数据操作语句(包括返回一行的SELECT)隐式声明游标,称为隐式声明游标的原因是用户不能直接命名和控制此类游标。当用户在PL/SQL中使用数据库操作语言(DML)时,Oracle预定义一个名为SQL的隐式游标,通过检查隐式游标的属性可以获取与最近执行的SQL语句相关的信息。

CURSOR mycur is select * from DUAL
后面通过打开游标(open cursor),获取数据(fetch ...into),关闭游标(close cursor)来控制.
这种方式就是显示游标

for i in(select * from DUAL) loop ...end loop
这种就是隐式游标
ZESTRON
2024-09-04 广告
在Dr. O.K. Wack Chemie GmbH,我们高度重视ZESTRON的表界面分析技术。该技术通过深入研究材料表面与界面的性质,为提升产品质量与可靠性提供了有力支持。ZESTRON的表界面分析不仅涵盖了相变化、化学反应、吸附与解吸... 点击进入详情页
本回答由ZESTRON提供
jey__hat
2014-02-26 · TA获得超过172个赞
知道答主
回答量:55
采纳率:0%
帮助的人:51万
展开全部
隐式游标 是具有特殊性质的select 语句: 代码块执行单元的select语句(显示游标在声明单元定义);查询带有into 语句(或者批量的bulk collect into);不用打开、提取、关闭,数据库自动完成。
显示游标 是代码声明单元明确定义的select语句,并同时制定一个名字,语法是:
CURSOR cursor_name [parameter][RETURN return_specification]
IS SELECT_statement;
声明了游标后,就可以打开游标(open cursor),获取数据(fetch ...into),关闭游标(close cursor)。
还有一种游标变量 (ref cursor),语法:
type cursor_name is ref cursor [return return_type];
打开用 open ... for...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kaiyanghao123
2014-02-23 · TA获得超过1615个赞
知道小有建树答主
回答量:1219
采纳率:66%
帮助的人:575万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式