`
Silmon
  • 浏览: 54524 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

Oracle ref 游标

    博客分类:
  • DB
阅读更多

1.获得结果集

 

 

declare
  type refcursor is ref cursor; --ref游标类型
 infolist     refcursor; --集合
  customer     bi_customer%rowtype; --行
  customercode bi_customer.customercode%type;--字段
  customername bi_customer.corporation%type;
begin
  open infolist for
    select bi.* from bi_customer cf; --全部
  loop
    fetch infolist
      into customer;
    exit when infolist%notfound;
    dbms_output.put_line('客户编号为;:'||''||customer.customercode||',   地址为:'||customer.address );
  end loop;
  close infolist;
end;                 

2 过程限定结果集,带返回记录数

create or replace package ord is--包

  -- Author  : SIMON
  -- Created : 2009-7-6 9:27:40
  -- Purpose : 

  type ref_type is ref cursor;

  procedure p_order(firstindex in number,--开始下标
                    lastindex  in number,--结束下标
                    recordnum  out number,--记录数
                    infolist   out ref_type--结果集
);
end ord;

create or replace package body ord is

  procedure p_order(firstindex in number,
                    lastindex  in number,
                    recordnum  out number,
                    infolist   out ref_type) as
    sql_tempstr  varchar2(400);
    sql_countstr varchar(500);
  begin
    sql_tempstr := 'select *
        from (select rownum num, o.* from orders o) s
       where 1>0';
    if (firstindex is not null and lastindex is not null) then
      sql_tempstr := sql_tempstr || 'and num between ' || firstindex ||
                     ' and
                     ' || lastindex;
    end if;
    sql_countstr := ' select count(*) from(' || (sql_tempstr) || ') ';
    dbms_output.put_line(sql_tempstr);
    dbms_output.put_line(sql_countstr);
    open infolist for sql_tempstr;
    Execute Immediate sql_countstr
      into recordnum;
  end p_order;

end ord;

 r

分享到:
评论

相关推荐

    Oracle数据库游标使用.rar

    3. **REF游标**:这种游标可以返回任意结果集,而不仅仅是固定列的表。它们在处理动态SQL或返回多种结构的数据时非常有用。 4. ** bulk collect**:Oracle还支持批量收集功能,允许一次提取多行数据,提高性能。...

    非常详细的Oracle游标整理

    这里详细介绍了Oracle中的三种游标类型:隐式游标、显式游标和REF游标。 1. **隐式游标**: - 隐式游标是Oracle自动管理和使用的,不需要程序员显式声明。当执行DML(Insert、Delete、Update、Merge into)操作时...

    oracle游标练习答案

    关于游标使用问题的练习和答案。游标分隐式和显示游标;动态和ref游标。适用于初学者。

    ORACLE中的游标汇总

    - **REF游标**,也称为动态游标,是一种更灵活的游标类型,它允许结果集的列数和数据类型在执行时变化。REF游标可以指向任何SQL查询的结果集,因此在处理不确定结构的数据时非常有用。 3. 游标属性 - **%FOUND**...

    Oracle存储过程游标详解

    游标可以分为静态游标和REF游标两种类型。静态游标是指结果集已经确实(静态定义)的游标,可以进一步分为隐式游标和显示游标。隐式游标是所有 DML 语句为隐式游标,可以通过隐式游标属性获取 SQL 语句信息。显示...

    oracle游标学习资料

    游标分为静态游标和引用(ref)游标。静态游标在编译时就确定了SELECT语句,包括隐式游标和显式游标。隐式游标是Oracle自动为每个SQL语句创建的,用户无法直接控制;显式游标则需要用户显式声明并管理。引用游标允许...

    ORACLE显式游标和动态游标的使用.pdf

    3. **动态游标**(参照游标或REF游标): - 动态游标在运行时才能确定查询,或者查询条件依赖于其他游标的返回值。 - 定义动态游标使用`TYPE`声明,例如:`TYPE ref_cursor_name IS REF CURSOR;` - 打开动态游标...

    北大青鸟Oracle游标

    创建REF游标需要两步,首先是声明REF游标类型,然后声明REF游标类型的变量。这种方式增加了游标的灵活性,可以在程序运行时决定查询的结构。 4. **循环游标**:循环游标是一种简化游标处理的机制,它可以自动打开、...

    oracle游标优化

    ### Oracle游标优化 在Oracle数据库管理中,游标是一种重要的机制,用于处理查询结果集。游标可以被看作是存储查询结果的一种临时区域,它允许用户通过循环逐行处理这些结果。游标不仅可以提高应用程序的灵活性,还...

    oracle中游标的使用

    4. **REF游标**:REF游标用于处理运行时动态构建的SQL查询结果,它可以适应不同的查询结构。打开REF游标时,需要使用`FOR SELECT_STATEMENT`语法。强引用的REF游标要求返回值与游标定义的类型匹配,而弱引用则不需要...

    oracle游标管理

    oracle游标管理:显示游标,隐式游标,REF游标

    oracle 游标 深入浅出 详解 精析 示例

    Oracle游标是数据库管理系统中的一种重要机制,它允许程序员逐行处理查询结果集,而不仅仅是一次性获取所有数据。游标类似于C语言中的指针,能够灵活、高效地处理多条记录,尤其在需要循环处理或者根据当前行数据做...

    静态、动态sql及各种游标

    静态、动态SQL及各种游标 静态SQL和动态SQL是两种不同的SQL语句执行方式,分别应用于不同...游标(Cursor)则是用于存储和操作数据库中的数据的一种数据库对象,分为隐式游标、显式游标和Ref Cursor(动态游标)三种。

    JAVA调用ORACLE存储过程游标使用

    在Java编程中,调用Oracle数据库的存储过程并处理返回的游标是一项常见的任务。Oracle存储过程可以封装复杂的业务逻辑,而游标则用于在结果集上进行迭代,特别是当结果集太大,不适合一次性加载到内存时。下面将详细...

    Oracle游标语法总结.doc

    Oracle 游标语法总结 Oracle 游标是指用于查询数据库、获取记录集合(结果集)的指针,可以让开发者一次访问一行结果集,在每条结果集上作操作。游标是 Oracle 中一个非常重要的概念,它允许开发者高效地访问和处理...

    Java调用oracle存储过程通过游标返回临时表

    本篇文章将深入探讨如何使用Java调用Oracle存储过程,并通过游标获取存储过程中返回的临时表数据。 首先,Oracle存储过程是一种在数据库端执行的预编译SQL语句和PL/SQL代码集合。它可以接收参数、执行业务逻辑并...

    ORACLE 游标

    在此示例中,我们定义了一个返回REF游标的函数`get_salaries`,并在主程序中调用它来获取部门20的员工薪资信息。 #### 总结 游标是Oracle数据库中处理数据的强大工具,通过理解和掌握不同类型游标的使用,可以更...

    关于游标的说明与使用方法

    - **Ref游标**:返回一个游标引用,可用于函数返回多个值的情况。 3. **FOR UPDATE 游标**:在查询结果上加上锁,以便后续更新数据。 4. **FOR DELETE 游标**:用于标记将要删除的数据行。 #### 四、Oracle游标的...

    Oracle游标

    Ref游标是更灵活的游标类型,它可以引用任何SELECT语句的结果集,包括动态SQL。这使得Ref游标非常适合处理未知或动态的列结构。 总结起来,Oracle游标是数据库开发中不可或缺的一部分,它们提供了对数据库数据的细...

    Oracle数据库的游标学习总结

    ### Oracle数据库的游标学习总结 #### 一、引言 在Oracle数据库中,游标是一种重要的机制,用于处理查询结果集。通过游标,我们可以逐行地读取查询结果,这对于复杂的业务逻辑处理非常有用。本文将详细介绍Oracle...

Global site tag (gtag.js) - Google Analytics