`

Oracle存储过程返回结果集的一个例子

阅读更多

一、创建包

create or replace package PTEST is
  type testCursorType is ref cursor;
  procedure getTestInfo(testCursor out testCursorType);
end;

二、创建包体

create or replace package body PTEST is
  procedure getTestInfo(testCursor out testCursorType) is
  begin
    open testCursor for
      select * from employee;
  end;
end;

三、调用测试

  注意:不能使用for等隐式游标的调用方法来调用游标变量,因为它已经打开了

declare
  mycur     ptest.testCursorType;
  tid   varchar2(10);
  tname varchar2(10);
begin
  ptest.getTestInfo(mycur);

  loop
    fetch mycur into tid, tname;
    exit when mycur%notfound;
    dbms_output.put_line(tid || tname);
  end loop;
  close mycur;
end;

 

分享到:
评论

相关推荐

    oracle的存储过程如何返回结果集

    Ref Cursor是一种特殊类型的游标,它可以指向一个结果集,这个结果集可以被传递给其他程序单元。当存储过程被调用时,它可以在内部执行SQL查询,并将结果存储在一个Ref Cursor中,然后将这个Ref Cursor作为输出参数...

    CallableStatement调用Oracle存储过程返回结果集(ResultSet).doc

    ### CallableStatement调用Oracle存储过程返回结果集(ResultSet) #### 一、无返回值的存储过程调用 在本节中,我们通过一个具体的例子来详细介绍如何使用`CallableStatement`来调用Oracle数据库中的无返回值存储...

    利用游标返回结果集的的例子(Oracle 存储过程).doc

    与函数类似,过程也打开一个游标,但这次是通过`p_cursor`参数来传递结果集,而不是直接返回。 在Java编程中,我们可以使用JDBC(Java Database Connectivity)来调用这些Oracle存储过程。在提供的Java代码示例中,...

    Oracle 存储过程返回结果集.doc

    在Oracle中,可以通过OUT参数来让存储过程返回一个结果集。这里使用了REF CURSOR类型,它是一个指向结果集的指针。REF CURSOR类型的声明通常放在包规范(PACKAGE SPECIFICATION)中,然后在包主体(PACKAGE BODY)中...

    Oracle 返回多个结果集

    通常,执行一个存储过程后,会有一个结果集对应于存储过程的返回值,然后可以通过调用`nextResult()`方法来获取额外的结果集。例如,在Java中: ```java CallableStatement cs = conn.prepareCall("{call multi_...

    java调用oracle存储过程返回结果集,Record,cursor.[参考].pdf

    - `TESTPACKAGE` 包含了一个名为`type_cursor`的Ref Cursor类型变量,用于存储返回的游标。 3. **创建Procedure**: - `test_items` 这个过程接收一个`OUT`参数`MyTable`,类型为`TESTPACKAGE.type_cursor`。在这...

    CallableStatement调用Oracle存储过程返回结果集(ResultSet).docx

    当存储过程返回一个结果集时,处理方式略有不同。以下是一个例子: ```sql CREATE OR REPLACE FUNCTION GET_EMPLOYEES RETURN SYS_REFCURSOR AS v_result SYS_REFCURSOR; BEGIN OPEN v_result FOR SELECT * FROM ...

    oracle的一个简单存储过程实例

    Oracle存储过程是数据库管理系统中的一种重要特性,它允许开发者编写包含一系列SQL语句和PL/SQL块的可重用代码段。在这个“Oracle的一个简单存储过程实例”中,我们可以看到如何在Oracle环境中创建、调用和管理存储...

    ORACLE存储过程学习源码

    - **带有返回值的存储过程**:可以设置一个函数式存储过程,通过RETURN语句返回一个值。 4. **学习源码的步骤**: - **理解每个例子**:逐个分析提供的源码,理解每个存储过程的目的和实现方式。 - **分析结构**...

    使用java实现oracle存储过程

    使用java实现oracle存储过程。 共有3个小例子。实现的功能 1、无返回值的存储过程 如 insert 2、有返回值的存储过程(非列表)select id from tab 3、返回列表 如:select * from tab 顺便鄙视下csdn,作为一个it...

    oracle存储过程使用游标对多表操作例子

    本文将深入探讨如何在Oracle存储过程中使用游标进行多表操作,具体通过一个示例来展示这一过程。 ### 标题与描述分析 标题:“oracle存储过程使用游标对多表操作例子”直接指出了文章的主题是关于在Oracle环境下,...

    Springboot调用Oracle存储过程的几种方式.docx

    `createStoredProcedureQuery()`方法允许我们直接创建一个用于调用存储过程的对象,然后设置输入/输出参数。例如: ```java public QueryResponse queryBill1(String pay_ID) throws Exception { QueryResponse...

    比较完整的一个创建Oracle存储过程的例子

    以下是一个创建Oracle存储过程的详细步骤和相关知识点的解释。 1. **创建存储过程的语法**: 创建存储过程的基本语法是 `CREATE OR REPLACE PROCEDURE procedure_name (parameter_list) AS declaration_section ...

    delphi调用Oracle的存储过程

    本篇文章将详细介绍如何在Delphi中调用Oracle数据库中的存储过程,并通过一个具体的例子来展示整个过程。 #### Oracle存储过程创建 首先,我们需要在Oracle数据库中创建一个存储过程。以下是一个示例存储过程`pkg_...

    oracle存储过程连接例子

    这里的`PRESULT`参数用于接收存储过程返回的结果集。 ##### 5. 创建并填充数据适配器 ```csharp OracleDataAdapter da = new OracleDataAdapter(cmd); DataTabledtTemp = new DataTable(); da.Fill(dtTemp); ``` ...

    访问ORACLE存储过程

    这个存储过程接收一个年龄(age_in)作为输入参数,并返回匹配该年龄的用户姓名(name_out)。 2. 在C#中调用该存储过程: ```csharp string connectionString = "Data Source=YXZHANG;User ID=YXZHANG;Password=...

    oracle存储过程

    Oracle存储过程是数据库管理系统Oracle中的一个重要特性,它允许开发者编写一组SQL语句和PL/SQL块,形成一个可重用的程序单元。这种程序单元可以在需要时被调用执行,提高了代码的组织性和效率。Oracle存储过程是...

    Oracle_存储过程exception异常处理大全及实例经典最终.docx

    例如,在上述提供的存储过程中定义了一个名为 `no_result` 的异常,用于处理执行 SQL 语句后没有结果的情况。用户可以通过定义异常来捕捉特定的业务逻辑问题,从而更好地控制程序的执行流程。 #### 1.1.4 用户定义...

    java调用Oracle存储过程的代码

    在这个例子中,我们展示了如何调用一个简单的存储过程并打印返回的员工信息。如果你的存储过程更复杂,可能需要处理更多的输入/输出参数和结果集。在实际开发中,注意处理异常和关闭数据库连接,以保持良好的编程...

Global site tag (gtag.js) - Google Analytics