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语句,相当于赋值变量,用法灵活,更方便遍历、绑定变量等实际中应用比较多的操作。

最新文章

  1. Mac Android开发环境变量的配置(java、sdk、ndk、gradle)
  2. Linux c 下使用getopt()函数
  3. nodejs学习笔记<四>处理请求参数
  4. CSS图片垂直居中方法
  5. 面试题: generate an equation, by inserting operator add ("+") and minus ("-") among the array to make equationExpression == 0
  6. Android实现Excel表格,且表格能左右、上下滑动
  7. winform调用cmd命令
  8. mac给文件批量添加后缀名
  9. 5.2Python数据处理篇之Sympy系列(二)---Sympy的基本操作
  10. Spark RDD持久化、广播变量和累加器
  11. Python学习总结 13 Scrapy
  12. Visual Studio 2017 error: Unable to start program, An operation is not legal in the current state
  13. [luogu 5300][bzoj 5502] [GXOI/GZOI2019] 与或和
  14. 20165205 2017-2018-2 《Java程序设计》 第二周学习总结
  15. 【黑金ZYNQ7000系列原创视频教程】05.FPGA和ARM的初次结合——LED实验
  16. 【JUC源码解析】ConcurrentSkipListMap
  17. [NOI2011]阿狸的打字机 --- AC自动机 + 树状数组
  18. 多国语言解决方案gnu.gettext + poedit
  19. 模拟Linux修改实际、有效和保存设置标识
  20. js介绍自己的例子

热门文章

  1. QPointer很大程度上避免了野指针(使用if语句判断即可,类似于dynamic_cast),而且使用非常方便 good
  2. 如何使用Palette提取Bitmap的颜色
  3. 第七届河南省赛F.Turing equation(模拟)
  4. 转载ajax
  5. BZOJ 1051: [HAOI2006]受欢迎的牛( tarjan )
  6. Windows+Apache+PHP5配置
  7. js正则语法
  8. Oracle 奇葩的问题:创建存储过程没有反应
  9. 命令 修改WAMP中mysql默认空密码
  10. codeforces 374D. Inna and Sequence 线段树