Oracle 10g Release2新功能之Ref Cursor

Ref Cursor就是我们定义在服务器端的结果集的reference。 当我们打开一个Ref Cursor的时候,没有任何的数据返回到客户端,相反,数据在服务器上的地址将会被返回到客户端。这样用户就可以自己决定什么时间和以那种方式通过Ref Cursor去取数据。

在以前版本的ODP.NET中,我们可以通过Ref Cursor取数据,但是我们不能把Ref Cursor作为一个Input参数传递给PL/SQL的存储过程和存储函数。但是在Oracle Database 10g Release2,我们能够很简单的把Ref Cursor作为Input参数传递给PL/SQL的存储过程和存储函数。这是Oracle Database 10g Release2的新功能。

我们接下来就以例程的方式来向你介绍这个新功能。

准备数据库

我们要在数据库中生成一个表和一个包,我们接下来的例子会用到。

请用HR用户登录数据库,然后运行下面的脚本。
create table processing_result
(
 status varchar2(64)
);
create or replace package cursor_in_out as
type emp_cur_type is ref cursor return employees%rowtype;
procedure process_cursor(p_cursor in emp_cur_type);
end;
/
create or replace package body cursor_in_out as
procedure process_cursor(p_cursor in emp_cur_type) is
employee employees%rowtype;
begin
 loop
  fetch p_cursor into employee;
  exit when p_cursor%notfound;
  insert into processing_result
  values('Processed employee #' ||
  employee.employee_id || ': ' ||
  employee.first_name || ' ' ||
  employee.last_name);
 end loop;
end;
end;
/

时间: 2024-08-17 18:39:05

Oracle 10g Release2新功能之Ref Cursor的相关文章

Oracle 10g Release2新功能之变化通知

引言 在.NET应用程序中,我们有很多方法实现对Oracle数据库的访问. 但是从功能和性能上来分析,Oracle Data Provider for .NET(ODP.NET)无疑是我们最好的选择,它是Oracle专门为基于.NET的应用程序设计的一套接口,它的访问速度要远远快于其它方法. 本文将介绍Oracle Database的新功能之一:Change Notification.为了能更好的说明这个新功能,我将用例程的方式来介绍它的定义和使用方法. Database Change Noti

Oracle 10g R2新特性之备份和可用性特性

Oracle 的自身备份 到现在为止,许多开发人员已经认识到 RMAN 的潜力以及它作为数据库备份工具的实用性. 您可能还记得 RMAN 可以将数据直接备份到磁盘和磁带. 当涉及磁带解决方案时,RMAN 使用名为介质管理库 (MML) 的 API 来操纵磁带子系统. 此 MML 特定于所涉及的磁带管理系统和硬件. (例如,如果涉及 Tivoli Storage Manager,则必须使用特定的 MML - Tivoli Data Protector,RMAN 需要它来通过 Tivoli 管理磁带

Oracle ASM 11g的新功能

一.什么是ASM ASM全称为Automated Storage Management,即自动存储管理,它是自Oracle10g这个版本Oracle推出的新功能.这是Oracle提供的一个卷管理器,用于替代操作操作系统所提供的LVM,它不仅支持单实例配置,也支持RAC这样的多实例配置.将给Oracle数据库管理员带来极大的方便,ASM可以自动管理磁盘组,并提供数据冗余和优化.特别是对于企业极的大型数据库管理员来说,可以使管理员可以从管理成百上千个数据文件这些琐碎的日常事务中解脱开来,以便处理其它

Oracle 10G First Release的新特性简介(下)

oracle Oracle 10G First Release的新特性简介(下) By Fenng 2003-07-10 注:近日Oracle已经正式宣布该版本的Oracle命名为10G,其中的G为Grid之意.特此更正. 高可用性的加强 1.缩短应用和数据库升级的宕机时间 通过使用standby数据库.允许在不同版本的standby和产品数据库间切换.现有的联机重定义功能能够支持一步克隆所有相关的数据库对象. 2.回闪(Flashback)任何错误 该版本的Oracle也扩展了Flashbac

Oracle 10G First Release的新特性简介(上)

oracle Oracle 10G First Release的新特性简介(上)   By Fenng 2003-6-8   Oracle(www.oracle.com)公司早已经宣称,Oracle 9i数据库只是一个过渡性的产品,真正的技术革新很可能在下一版,也就是通常说的10i(内部可能的版本号是2003,以下简称10i,估计在正式发行的时候会有一个新的名字)中体现出来.很多技术人员可能都会比较关心Oracle 10i究竟能有哪些新功能,是否能提供一些激动人心的新特性?我们在这里对Oracl

如何使用REF CURSOR处理Oracle的结果集

Oracle提供REF CURSOR,通过该功能可以实现在程序间传递结果集的功能,利用REF CURSOR也可以实现BULK SQL,从而提高SQL性能. 使用scott用户的emp表实现以下测试案例: SQL> desc emp Name Null? Type ----------------------------------------- -------- ---------------------------- EMPNO NOT NULL NUMBER(4) ENAME VARCHAR

oracle中REF Cursor用法

1,什么是 REF游标 ?  动态关联结果集的临时对象.即在运行的时候动态决定执行查询.   2,REF 游标 有什么作用?  实现在程序间传递结果集的功能,利用REF CURSOR也可以实现BULK SQL,从而提高SQL性能.   3,静态游标和REF 游标的区别是什么?  ①静态游标是静态定义,REF 游标是动态关联:  ②使用REF 游标需REF 游标变量.  ③REF 游标能做为参数进行传递,而静态游标是不可能的.   4,什么是REF 游标变量?  REF游标变量是一种 引用 REF

Oracle 10G 新特性——RMAN

Oracle 10G 新特性--RMAN 作者:fuyuncat 来源:http://www.hellodba.com/ RMAN增量备份方案.增量备份的离线恢复.恢复预览.从resetlogs中恢复.文件压缩等被重新设计后变得更加强大了. 大多数人都赞同RMAN就是Oracle事实上的数据库备份工具.尽管早期版本的RMAN已经很强大,但是人们对它的期待还是有很多.很多DBA对于一些很希望有但实际上没有的特性很烦恼.很幸运,在10g中解决了很多问题并且增加了很多受期待的特性,下面就一起看一下.

Oracle托管型CRM R16新功能简介

甲骨文继上个月推出Oracle托管型CRM 16 版 (CRM On Demand R16)新品之后,近日又进一步推出了Oracle托管型CRM R16的五大新功能.本文将对这五大新功能进行介绍. 北京,2009年2月24日--继上个月推出Oracle托管型CRM 16 版 (CRM On Demand R16)新品之后,甲骨文公司近日又进一步推出了Oracle托管型CRM R16的五大新功能.作为行业领先的Oracle托管型CRM的最新版,Oracle托管型CRM R16进一步兑现了甲骨文公司