`
tianlijia202
  • 浏览: 78005 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

procedure存储过程 返回数组

阅读更多
文章转自:http://oracle.chinaitlab.com/induction/788759.html


1.建立包



  create or replace package test is
  TYPE filename_array IS TABLE OF varchar2(1);
  filename filename_array;
  end test;


  2. 建立存储过程



  create or replace procedure test_array(v_cfjg out test.filename_array ) is
  begin DECLARE i number;
  D_cfjg dic_cfjg%rowTYPE;
  -- D_nr dic_cfjg%rowTYPE;
  cursor c1 is SELECT * FROM dic_cfjg;
  BEGIN
  i:=0;
  v_cfjg := test.filename_array(); --数组初始化
  open c1;
  LOOP fetch c1 into D_cfjg;
  EXIT WHEN c1%NOTFOUND ;
  i:=i+1;
  v_cfjg.EXTEND;
  -- DBMS_OUTPUT.PUT_LINE(TO_CHAR(D_cfjg.dm));
  v_cfjg(v_cfjg.count):=D_cfjg.dm;
  DBMS_OUTPUT.PUT_LINE(v_cfjg(v_cfjg.count));
  -- 测试
  -- FETCH C1 INTO D_cfjg;
  -- EXIT WHEN c1%NOTFOUND ;
  END LOOP;
  end;
  EXCEPTION
  WHEN TOO_MANY_ROWS THEN
  DBMS_OUTPUT.PUT_LINE('TOO_MANY_ROWS');
  WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE(sqlerrm);
  end test_array;
分享到:
评论

相关推荐

    oracle存储过程返回多行多列的结构化数组,java调用并解析

    总结来说,本示例展示了如何在Oracle存储过程中定义和使用结构化数组,以及如何在Java中调用这些存储过程并解析返回的多行多列数据。通过这种方式,你可以高效地处理复杂的数据结构,同时利用Java的灵活性来处理这些...

    Java调用带参数的存储过程并返回集合

    本话题将详细讲解如何使用Java调用带有参数的Oracle存储过程,并获取存储过程返回的集合。 首先,Oracle存储过程是一种预编译的SQL语句集合,它可以在数据库服务器端执行,提高性能,减少网络传输。`PROCEDURE.sql`...

    Spring访问传入数组参数的Oracle存储过程

    存储过程是预编译的SQL语句集合,可以接受输入参数、返回结果以及执行复杂的业务逻辑。在Java中,尤其是使用Spring框架时,我们可以借助JDBC或ORM(对象关系映射)工具如Hibernate来调用这些存储过程。 在Spring中...

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

    本文介绍了Java调用Oracle存储过程返回结果集Record和Cursor的相关知识点,包括创建Type、PACKAGE和PROCEDURE,Java代码中调用存储过程,并获取结果集。这些知识点对深入了解Oracle存储过程和Java调用Oracle存储过程...

    MySQL存储过程.pdf

    同时,存储过程也可以返回多个值,包括标量、数组和记录集等。 特色条款 存储过程可以包含多种特色条款,例如条件语句、循环语句和错误处理语句等。这些特色条款可以实现复杂的业务逻辑,提高存储过程的灵活性和可...

    一个基于SQL server 2005实现的通过一个数组参数进行Procedure的parameter传递例子

    在SQL Server 2005中,存储过程(Procedure)是一种预编译的SQL语句集合,它们可以接受输入参数,执行复杂的业务逻辑,并返回结果。在这个特定的例子中,我们将探讨如何通过一个数组参数来传递数据给存储过程,这...

    使用SQLHelper类调用带输出、返回参数的存储过程

    下面,我们将深入探讨如何使用`SQLHelper`类来调用带有输出或返回参数的存储过程,这在实际项目中极为常见。 ### 1. SQLHelper 类的作用 `SQLHelper`类是.NET框架中用于封装对数据库进行各种操作的方法集合,它的...

    Oracle数组的使用

    - **FIRST/LAST**:返回数组的第一个或最后一个元素的位置。 - **NEXT/PRIOR**:返回指定元素后或前的一个元素的位置。 - **TRIM**:移除数组尾部的空元素。 #### ASSOCIATIVE ARRAY (Indexed Table) `ASSOCIATIVE...

    Sql Server 存储过程调用存储过程接收输出参数返回值

    下面是一个返回查询行数的存储过程示例: ```sql ALTER PROCEDURE [dbo].[GetCustomers] AS BEGIN SELECT [CustomerID], [CompanyName], [ContactName], [ContactTitle], [Address], [City], [Region], ...

    DB2存储过程-基础教程

    DB2存储过程使用SQL Procedure Language (SQLPL),这是SQL Persistent Stored Module (PSM) 标准的一个子集。SQLPL集成了SQL查询数据的便利性和传统编程语言的控制流程,使得开发者能够使用SQL语言开发复杂的程序...

    存储过程实例解释 事务实例解释 C#中使用带返回值的存储过程

    ### 存储过程实例解释与事务处理 #### 一、简单存储过程的创建与调用 首先,我们来看一个简单的存储过程示例:`dbo.testProcedure_AX`。 ```sql CREATE PROCEDURE dbo.testProcedure_AX AS select userID from ...

    oracle 存储过程学习经典

    - 创建存储过程需要`CREATE PROCEDURE`系统权限。 - 如果存储过程需要被其他用户模式下的程序使用,则需要`CREATE ANY PROCEDURE`权限。 - 执行存储过程需要相应的执行权限,如`EXECUTE`或`EXECUTE ANY PROCEDURE...

    存储过程详细教程

    CREATE OR REPLACE PROCEDURE 存储过程名 AS 变量1 类型(值范围); 变量2 类型(值范围); BEGIN -- SQL 语句 EXCEPTION -- 异常处理 END; ``` - **CREATE OR REPLACE**:用于创建或替换已存在的存储过程。 - *...

    db2存储过程基础

    存储过程可以通过声明OUT或INOUT参数来返回结果集,也可以通过动态SQL语句来构造并返回结果集。 总结来说,DB2存储过程基础涉及到了SQL PL的语法、变量管理、流程控制、数据处理及错误处理等多个方面,这些都是...

    oracle存储过程超详细使用手册.pdf

    在Oracle数据库中,存储过程是一种预编译的对象,它能够接收参数、执行SQL语句并返回结果。存储过程可以帮助提高应用程序性能,减少网络流量,并增强安全性。 创建存储过程的基本语法结构如下: ```sql CREATE OR ...

    oracle存储过程超详细使用手册

    存储过程是一种在数据库中预先编写并编译好的SQL程序,它可以接受输入参数,并可返回多个输出参数。存储过程能够提高应用程序性能,增强代码重用性,并简化复杂操作。下面将详细介绍如何在Oracle中创建存储过程。 1...

    java传list给存储过程,项目提取,不忽悠

    这个例子中,我们假设有一个名为`my_procedure`的存储过程,接受一个String类型的数组作为输入,并返回一个整数值。 以上就是Java中将List传给存储过程的基本步骤和一个简单示例。实际项目中,你可能需要处理更复杂...

    mysql数据存储过程参数实例详解

    MySQL 数据存储过程是数据库管理中的一个...`in`参数只用来传递数据,`out`参数用于从存储过程返回结果,而`inout`参数则同时具备这两个功能。在实际应用中,根据需求选择适当的参数类型能提高代码的可读性和灵活性。

    Informix存储过程笔记

    Informix存储过程是数据库中一种重要的程序设计元素,它允许用户在数据库中存储一系列SQL语句和SPL(Stored Procedure Language)命令,以便于执行重复的任务或实现复杂的业务逻辑。存储过程可以提高应用程序的性能...

    oracle存储过程及触发器总结

    在Oracle数据库中,存储过程是一种预先编译好的SQL代码块,它可以接受输入参数、返回单个值或多个值,并能够调用其他存储过程。存储过程在数据库服务器上运行,这有助于提高性能并简化客户端应用程序的设计。 #### ...

Global site tag (gtag.js) - Google Analytics