REF游标
来源:互联网 发布:对于网络诈骗如何处理 编辑:程序博客网 时间:2024/06/06 04:46
显式游标是静态游标(也就是说,游标与一条SQL语句关联,在编译块时此语句是已知的)。
在运行时游标变量也可以与不同的语句关联。游标变量类似于PL/SQL变量,可以在运行时接纳不同的值。静态游标类似于PL/SQL常量,因为它们只能与一个运行时查询关联。
游标是一种引用类型,引用类型与指针相同,它可以在程序运行时指定不同的存储位置。为了使用引用类型,必须声明变量,然后必须分配存储空间。
引用类型声明语法如下:
REF_var type
其中type是事先定好的类型,ref关键字指示新类型是指:指向已定义类型的指针,因此,游标的类型是REF游标。定义游标变量类型的完整语法如下:
Type type_name is ref cursor return return_type;
其中type_name是新引用类型的名称,返回类型是指示将由游标变量返回的select列表的类型的记录类型。游标变量的返回类型必须是记录类型。可以将它显式声明为用户定义的记录,也可以使用%ROWTYPE隐式声明它。在定义引用类型之后,可以声明变量。
具有约束的游标变量和无约束的游标变量
当游标变量具有返回类型时,它称为具有约束的游标变量或强游标。但是,游标变量不一定需要具有返回类型,这样的游标变量称为无约束的游标变量或弱游标。强游标和弱游标的声明的示例如下:
--强游标类型
Type t_add_ref is ref cursor returnvendor_master%rowtype;
--弱游标类型
Type t_adds_ref is ref cursor;
--声明游标变量
V_add_ref t_add_ref; --强游标变量 或具有约束变量
V_adds_ref t_adds_ref; --弱游标变量或无约束变量
打开游标变量进行查询:
游标变量必须与特定的select语句关联。这是由open语句实现的,该语句已扩展为允许指定查询。使用open语句的语法如下。
Open cursor_variable for select_statement;
其中cursor_variable是以前声明的游标变量,select_statement是所需的查询。如果游标变量是具有约束的,则select列表必须与游标的返回类型匹配。
关闭游标变量
与静态游标一样,游标变量是使用close语句关闭的。这将释放用于查询的资源。但是,它不一定释放游标变量本身的存储空间。在变量超出其作用域时,将释放变量的存储空间。关闭已经关闭的游标或游标变量是非法的。
--此实例根据用户选择的动态游标打开两个不同的sql其中一个
- ref游标
- REF游标
- REF游标
- 动态游标(REF CURSOR)
- 动态游标(REF CURSOR)
- REF 游标 (待填坑)
- 示例5 REF游标
- 什么是 REF游标
- REF游标的用法
- Oracle REF动态游标
- 关于游标cursor、游标引用 ref cursor
- Oracle游标(三)REF动态游标
- Oracle使用REF 动态游标
- 10.3游标变量 --REF CURSOR
- oracle 游标变量REF Cursor
- Oracle使用REF 动态游标
- Oracle REF动态游标使用
- 参照变量_游标变量(ref cursor)
- 关于opengl中glColor3f的应用
- 音频参数解析
- 学习大数据第一天:IPython安装
- curl采集登陆后的界面 若文件压缩,则解压文件
- 迷宫-BFS
- REF游标
- [Android 硬件] Eclipse错误:Conversion to Dalvik format failed with error 1
- 从空项目建立MFC工程
- 【字符串】POJ1271乒乓球
- SQL HAVING 子句
- CentOS7.1上安装Apache + SVN
- Xcode7.2 测试iOS9.3
- casperjs#实例阅读
- 支持“XXXDbContext”上下文的模型已在数据库创建后发生更改。请考虑使用 Code First 迁移更新数据库(http://go.microsoft.com/fwlink/?LinkId=2