REF CURSOR和CURSOR
REF CURSOR
DECLARE
TYPE TY_EMP_CUR IS REF CURSOR;
V_Emp_Cur TY_EMP_CUR;
V_Id EMP.ID%TYPE;
BEGIN
OPEN V_Emp_Cur FOR SELECT ID FROM EMP; --REF CURSOR的SELECT语句赋值位置,可以在逻辑模块中再次更改
FETCH V_Emp_Cur INTO V_Id; --FETCH的作用的读取当前指针并移动到下一个指针目标
WHILE V_Emp_Cur%FOUND LOOP
DBMS_OUTPUT.PUT_LINE(V_Id);
FETCH V_Emp_Cur INTO V_Id;
END LOOP;
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('Other exceptions');
CONTINUE;
END;
CURSOR
DECLARE
CURSOR V_Emp_Cur IS SELECT ID FROM EMP; --传统CURSOR的SELECT语句赋值位置,后期不可更改
V_Id EMP.ID%TYPE;
BEGIN
OPEN V_Emp_Cur;
FETCH V_Emp_Cur INTO V_Id; --FETCH的作用的读取当前指针并移动到下一个指针目标
WHILE V_Emp_Cur%FOUND LOOP
DBMS_OUTPUT.PUT_LINE(V_Id);
FETCH V_Emp_Cur INTO V_Id;
END LOOP;
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('Other exceptions');
CONTINUE;
END;
总结:REF CURSOR和传统的CURSOR相比,传统的CURSOR只能在定义模块中给予该CURSOR相应的SELECT语句去完成定义,且不能后期在逻辑模块再次进行改变,用途很局限,除非SELECT语句不会变化;而REF CURSOR更像是定义一种类型,在定义模块中定义完TYPE和此TYPE的VARIABLE,在逻辑模块中去给予SELECT语句,相当于赋值变量,用法灵活,更方便遍历、绑定变量等实际中应用比较多的操作。
REF CURSOR和CURSOR的更多相关文章
- cursor:hand & cursor:pointer
1.cursor:hand & cursor:pointer都是将鼠标设置为手形. 2.cursor:hand存在兼容性问题,firefox并不支持该属性值.但大部分主流浏览器支持cursor ...
- Use Cursor
declare : CURSOR cursor_name IS select_statement ; open : OPEN cursor_name if the query returns no r ...
- Oracle Cursor的使用
When Oracle Database executes a SQL statement, it stores the result set and processing information i ...
- Android笔记——关于Cursor类的介绍
使用过 SQLite数据库的童鞋对 Cursor 应该不陌生,加深自己和大家对Android 中使用 Cursor 的理解. 关于 Cursor 在你理解和使用 Android Cursor 的时候你 ...
- cursor.MySQLCursorDict Class
5.9.6.4 cursor.MySQLCursorDict Class The MySQLCursorDict class inherits from MySQLCursor. This class ...
- css cursor 的可选值(鼠标的各种样式)
crosshair; 十字准心 The cursor render as a crosshair游标表现为十字准线 cursor: pointer; cursor: hand;写两个是为了照顾IE5, ...
- 举例详解CSS中的cursor属性
这篇文章主要举例介绍了CSS中的cursor属性,包括zoom-in/zoom-out和grab/grabbing等常用属性值的使用,需要的朋友可以参考下 一.开篇之言 CSS3的领域范围已经渗透到了 ...
- CSS光标cursor
前面的话 在浏览器中,光标对于提供交互反馈很有用.通过在不同的场景中改变光标,就能赋予其不同的含义 定义 cursor光标 值: [<uri>,]*[auto | default | po ...
- MySQL Cursor
MySQL Cursor Summary: in this tutorial, you will learn how to use MySQL cursor in stored procedures ...
随机推荐
- Window下 Qt 编译MySQL驱动(居然用到了动态库格式转换工具)
一步步在Window下开发Qt 今天开始安装MySQL,看了些关于MySQL安装的博文,方法大致相同,但是遇到的细节问题各有不同,或者没有讲全面,下面来说说个人的安装过程及遇到的问题. 1.首先下载, ...
- kafka初探
http://www.infoq.com/cn/articles/kafka-analysis-part-1
- Git库文件的状态
git库所在的文件夹(即.git所在的文件夹)中的文件的状态: (1)untracked:未跟踪,此文件在文件夹中,但并没有加入git库,不参与版本控制. 通过”git add”,”git commi ...
- 编译器DIY——词法分析
在上一篇文章中已经介绍了读文件的操作,那么这一篇文章中将会细致解释词法分析. 在源文件里解析出的单词流必须识别为保留字,标识符,常量,操作符和界符五大类 1.显然我们须要列举出全部的保留字,而这里与保 ...
- Android发展简单介绍
Android一词的本义指“机器人”,同一时候也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统.中间件.用户界面和应用软件组成,号称是首个为移动 ...
- Google Maps 学习笔记(一)2014.06.04
1.<body onload="加载地图的函数" onunload="GUnload()"> 2.new GMap2(container,opts) ...
- SQL Server索引进阶:第四级,页和区
原文地址: Stairway to SQL Server Indexes: Level 4, Pages and Extents 本文是SQL Server索引进阶系列(Stairway to SQL ...
- jQeury学习笔记
jQuery 语法: 核心语法: $(selector).action() 美元符号定义 jQuery 选择符(selector)"查询"和"查找" HTML ...
- 延迟N秒执行某个方法
[self performSelector:<#(nonnull SEL)#> withObject:<#(nullable id)#> afterDelay:<#(NS ...
- 小猪猪逆袭成博士之C++基础篇(一)数据精度、强制类型转换、变量命名规则
小猪猪逆袭成博士之C++基础篇(一) 关键词: 数据精度.强制类型转换.变量命名规则 综述: 1.大多数编程语言通过两种方式来进一步补充其特征:一是赋予程序员自定义数据类型的权利(C++中的类):二是 ...