sys_refcursor 和 cursor 优缺点比较

优点比较

优点一:sys_refcursor,可以在存储过程中作为参数返回一个table格式的结构集(我把他认为是table类型,容易理解,其实是一个游标集),

cursor 只能用在存储过程,函数,包等的实现体中,不能做参数使用。

优点二:sys_refcursor

这东西可以使用在包中做参数,进行数据库面向对象开放。哈哈。我喜欢。cursor 就不能。

缺点比较:

缺点:sys_refcursor 不能用open,close ,fetch

进行操作。不好学,难理解。

cursor 可以用 open,close ,fetch 操作,容易学,易懂

其他就目前不知道,至于游标的的基础概念,去google,百度一大堆的。这里就不累赘了。看例子:

建立一个存储过程

create or replace procedure up_test(o out sys_refcursor)

is

begin

open o for select * from

lq_test;

end;

返回的类型是sys_refcursor;

建立第二个存储过程

create or replace procedure up_getData(aMsg

out varchar2) is

type p_table_type is table of

lq_test%rowtype;

p_table p_table_type;

v sys_refcursor;

begin

up_test(v);

fetch v bulk collect into p_table;

for i in 1..p_table.count loop

dbms_output.put_line('字段1:'||p_table(i).v1 ||

' 字段2:' ||

p_table(i).v2);

end loop;

end;

这里要注意fetch 带参数的用法,bulk collect

,这是第集合的操作,必须先定义一个结合类。见上面的例子,还不懂就google了。用法就简单,没啥好介绍的。

取集合的值应该这样p_table(i).v1,其中i标识几行,带上字段,即可了。呵呵,容易理解。

oracle游标特点,oracle游标应用 sys_refcursor 和 cursor比较相关推荐

  1. oracle游标应用 sys_refcursor 和 cursor比较

    http://blog.sina.com.cn/s/blog_7540bf5f0100qalz.html sys_refcursor 和 cursor 优缺点比较 优点比较 优点一:sys_refcu ...

  2. oracle存储过程详解--游标 实现增、删、改、查的

    注:以下是转来的内容,但是设计PLSQL代码,原文有问题,所以PLSQL代码我都验证修改了.测试需要在scott/tiger下进行,对于没有的表,需要自行创建,表复制的语句为 CREATE TABLE ...

  3. Oracle 11g Release 1 (11.1) 游标——显式游标

    http://docs.oracle.com/cd/B28359_01/appdev.111/b28370/static.htm#CIHCAHJA 本文内容 声明一个游标 打开一个游标 用游标获取一个 ...

  4. 【Oracle】PL/SQL 显式游标、隐式游标、动态游标

    在PL/SQL块中执行SELECT.INSERT.DELETE和UPDATE语句时,Oracle会在内存中为其分配上下文区(Context Area),即缓冲区.游标是指向该区的一个指针,或是命名一个 ...

  5. Oracle 原理:游标,显示游标、隐式游标、参照游标

    Oracle 游标有三种:显示游标.隐式游标.参照游标. fetch...bulk collect into select 语句会把结果集全部返回给用户,而无法对结果集中的每行数据进行单独的操作.因此 ...

  6. oracle中判断空,Oracle中判断空游标的方法

    1.声明包 create or replace package TAL_TEST is -- Author : ADMINISTRATOR -- Created : 2012/12/9 15:15:3 ...

  7. oracle父游标和子游标,诊断Oracle high version count(高版本游标)问题

    什么是high version cursor(高版本游标)?对于一个特定的游标有多少个版本就属于高版本游标是没有明确定义的.对于不同的系统有不同 什么是high version cursor(高版本游 ...

  8. 13、oracle数据库下的游标

    ORACLE下的游标操作 游标是sql的一个内存工作区,由系统或者用户以变量的形式定义.游标的作用是用于临时存储从数据库中提取的数据块.游标有静态游标.动态游标之分,静态游标又可分为隐式游标和显式游标 ...

  9. [Oracle]使用非滚动游标

    源码:xx.pc /* 功能:演示了Oracle非滚动游标操作 定义游标时注意事项: 1. DECLARE CURSOR语句必须是使用游标的第一条语句 2. 游标名称是一个标识符,而不是宿主变量,其长 ...

  10. oracle创建多个游标,Oracle——游标的创建和使用

    游标 SQL语言是面向集合的,是对指定列的操作.如果要对列中的指定行进行操作,就必须使用游标. 当在PL/SQL块中执行查询语句(SELECT) 和数据操纵语句(DML) 时,Oracle会为其分配一 ...

最新文章

  1. iOS 如何写出更加严谨的应用
  2. Linux系统结构 详解
  3. Nginx FastCGI的运行原理
  4. java设计一个bank类实现银行_AOS公链推出“隐私Bank”,彻底打破资产发行门槛!...
  5. HTTPS 加密算法原理详解
  6. jquery中几种层级选择器的详细说明
  7. python之星河战争游戏
  8. ps蒙版上渐变工具的使用及抠图方法
  9. windows7最简单最快速解决“此windows副本不是正版”(“This copy of Windows is not genuine”)方法
  10. 图灵C/C++图书阅读路线图
  11. 私域运营第五讲:实体店私域流量拉新实体餐饮店如何通过搭建私域流量实现营收增长
  12. 使用 Jenkins 创建微服务应用的持续集成
  13. linux 绑定腾讯域名解析,一步步配置腾讯云服务器ubuntu 通过域名访问自己的网页tomcat(详细基础)...
  14. h264编码算法流程
  15. Go+ 发布 weekly release: v0.7.3
  16. 阿里巴巴真的会收购雅虎吗?
  17. 《专业主义》-书摘(下)
  18. 国家信息安全水平考试(NISP 续)
  19. ipconfig失败
  20. JavaScript - 判断浏览器内的页面是在手机端还是电脑(PC)上打开的(判断用户访问设备是什么)

热门文章

  1. spring中afterPropertiesSet方法与init-method配置描述
  2. 数据库操作导入导出以及加快查询速度
  3. robotframework 接口测试 +RSA 加密
  4. 模拟百度搜索框,输入时显示历史记录
  5. 写一个NSString类的实现
  6. linux下无法安装VMware的解决方法
  7. Linux RTC Test Example rtctest.c hacking
  8. Win10周年升级新增52000个emoji表情
  9. 15.导入网表及status介绍[原创]
  10. Iocomp 工业仪表盘控件包详细介绍说明