分类目录

链接

2012 年 1 月
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

近期文章

热门标签

新人福利,免费薅羊毛

现在位置:    首页 > Oracle > 正文
Oracle游标的生命周期
Oracle 暂无评论 阅读(2,496)

session cursor需要从UGA中分配内存,因此有其生命周期。其生命周期主要包括:
打开游标(根据游标声明的名称在UGA中分配内存区域)
解析游标(将SQL语句与游标关联,并将其执行计划加载到Library Cache)
定义输出变量(仅当游标返回数据时)
绑定输入变量(如果与游标关联的SQL语句使用了绑定变量)
执行游标(即执行SQL语句)
获取游标(即获取SQL语句记录结果,根据需要对记录作相应操作。游标将逐条取出查询的记录,直到取完所有记录)
关闭游标(释放UGA中该游标占有的相关资源,但Library Cache中的游标的执行计划按LRU原则清除,为其游标共享提供可能性)

对于session cursor而言,可以将游标理解为任意的DML,DQL语句(个人理解,有待核实)。即一条SQL语句实际上就是一个游标,只不过
session cursor分为显示游标和隐式游标,以及游标指针。由上面游标的生命周期可知,任何的游标(SQL语句)都必须经历内存分配,解析,
执行与关闭的过程。故对隐式游标而言,生命周期的所有过程由系统来自动完成。对所有的DML和单行查询(select ... into ...)而言,
系统自动使用隐式游标。多行结果集的DQL则通常使用显示游标。

============ 欢迎各位老板打赏~ ===========

【上篇】
【下篇】

本文版权归Bruce's Blog所有,转载引用请完整注明以下信息:
本文作者:Bruce
本文地址:Oracle游标的生命周期 | Bruce's Blog

发表评论

留言无头像?