oracle中游标的定义解析

TYPE type_cursor IS REF CURSOR
[RETURN return_type];
cursor_name type_cursor;

TYPE type_cursor:定义类型变量 如int i中i

is ref cursor:相当于数据类型,不过是引用游标的数据类型。如int i 中的int类型

这种变量通常用于存储过程和函数返回结果集时使用,

因为PL/SQL不允许存储过程或函数直接返回结果集,但可以返回类型变量,

而游标是系统给用户提高的缓冲区,也就是类似resoutset ,于是引用游标的类型变量作为输出参数或返回类型变量

时间: 2024-08-07 02:07:30

oracle中游标的定义解析的相关文章

sql中游标的定义和使用

游标的类型:1.静态游标(不检测数据行的变化)2.动态游标(反映所有数据行的改变)3.仅向前游标(不支持滚动)4.键集游标(能反映修改,但不能准确反映插入.删除) 游标使用顺序:1.定义游标2.打开游标3.使用游标4.关闭游标5.释放游标 语法 declare 游标名 cursor [LOCAL | GLOBAL][FORWARD_ONLY | SCROLL][STATIC | KEYSET | DYNAMIC ] [READ_ONLY | SCROLL_LOCKS] for selet语句 [

oracle中游标的使用

1)--- 使用带参数的游标; declare CURSOR stock_cur(symbol_in VARCHAR2) IS SELECT * FROM rate_combine_nr nr WHERE nr.combine_no=symbol_in; stock_info stock_cur%ROWTYPE; begin OPEN stock_cur('G600000001'); --打开游标; loop FETCH stock_cur INTO stock_info; --从游标中取值 e

Mysql中游标的使用

最近在使用Mysql时,经常需要用到游标,所以将使用方法做下记录以备日后查看.(这里只是为了说明游标的用法,不会涉及复杂的业务逻辑,所以举的例子可能并不恰当) 首先,创建两张表departmentinfo(部门信息表)和employeeinfo(员工信息表) 表结构如下: 表departmentinfo存储部门名及部门总销售额 表employeeinfo存储员工名.员工所在部门ID及员工个人销售额 表中初始数据如下: 各部门总销售额均为0 员工分别在3个部门下,且都有自己的销售额 然后创建存储过

SQL中游标的使用(转)

一般情况下,我们用SELECT这些查询语句时,都是针对的一行记录而言,如果要在查询分析器中对多行记录(即记录集)进行读取操作时,则需要使用到游标或WHILE等循环 游标的类型:  1.静态游标(不检测数据行的变化)  2.动态游标(反映所有数据行的改变)  3.仅向前游标(不支持滚动)  4.键集游标(能反映修改,但不能准确反映插入.删除) 游标使用顺序:   1.定义游标   2.打开游标   3.使用游标   4.关闭游标   5.释放游标 Transact-SQL:declare 游标名

SQL Server 中游标的使用

1.游标是行读取,占用资源比sql多2.游标的使用情景:  ->现存的系统中使用的是游标,查询必须通过游标来实现  ->用尽了while.子查询临时表.表变量.自定义函数以及其他方式仍然无法实现的时候,使用游标3.T-SQL 中游标的生命周期由5部分组成   ->定义游标:游标的定义遵循T-Sql的定义方法,赋值有两种方法,定义时赋值,和先定义后赋值,定义游标像定义其他局部变量一样前面要加@,注意如果是全局的游标,只支持定义时直接赋值,并且不能在游标前面加@   --定义时直接赋值   

Oracle OCP之硬解析在共享池中获取内存锁的过程

转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/38684819 1.获得library cache Latch (1)在父游标的名柄没有找到SQL语句的文本:select * from gyj_t1 where id=1; 2.释放library cache Latch 3.获得shared pool Latch     (1)搜索FreeList 空闲Chunk     (2)搜索LRU上可覆盖的chunk     (3)搜索R-Fr

Oracle SQL的硬解析和软解析

我们都知道在Oracle中每条SQL语句在执行之前都需要经过解析,这里面又分为软解析和硬解析.在Oracle中存在两种类型的SQL语句,一类为 DDL语句(数据定义语言),他们是从来不会共享使用的,也就是每次执行都需要进行硬解析.还有一类就是DML语句(数据操纵语言),他们会根据情况选择要么进行硬解析,要么进行软解析. DML:INSERT,UPDATE,DELETE,SELECT DDL:CREATE,DROP,ALTER 一.  SQL 解析过程 Oracle对此SQL将进行几个步骤的处理过

Oracle RMAN备份深入解析--联机备份

Oracle RMAN备份深入解析--联机备份 RMAN> backup database plus archivelog;    1.首先,进程使用alter system archivelog current命令完成了日志切换操作.    2.进程将现存所有归档重做日志备份    3.开始执行实际的数据库备份操作,此时会发生一次日志切换(alter system archivelog current),同时RMAN备份剩余的归档重做日志(使用backup archivelog all命令).

Oracle Library Cache深入解析

Oracle Library Cache深入解析 每一个进入库缓存的对象,在库缓存中都被按照本身内容分割成多块进行存贮.Oracle这样做的目的是为了更灵活的内存管理,因为在内存寻找大块连续的内存,总比寻找小块连续内存更慢一些.如果一个库缓存对象(如一条SQL语句的执行计划),它所占的内存被切割成4个小块,它们分别被存放在库缓存的各处,并且互不相连.为了将这4个小块组合起来,Oracle另外这个库缓存对象分配一小块内存,这块内存中存有其他4个小块内存的地址,并且,还有一些有关此库缓存对象的基本信