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

Java 调用PL/SQL Array

阅读更多
Java 调用PL/SQL Returning Object Array

实现在java调用返回值是数组的存储过程方法。

1. 数组:CYJ_ARRAY

CREATE OR REPLACE TYPE CYJ_ARRAY is VARRAY(20) OF integer

2. 存储过程:getTestArray()

CREATE OR REPLACE FUNCTION getTestArray RETURN CYJ_ARRAY
AS
  l_test CYJ_ARRAY :=CYJ_ARRAY();

   begin
    FOR i IN 1..10 LOOP
      l_test.extend;
      l_test(l_test.count) := i;
      dbms_output.put_line(l_test(l_test.count));
    END LOOP;
    RETURN  l_test;
  END;
3. 调用存储过程的java 类

public class TestOracleReturnArray  {


public static void main(String[] args) throws SQLException {
Connection conn = null;
CallableStatement cstmt = null;
ResultSet rs = null;
try {
 
  DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
  conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ora","zzz","sss");
 
  conn.setAutoCommit(false);
  String procedure = "{? = call getTestArray() }";// 调用存储过程
  cstmt = conn.prepareCall(procedure);
  cstmt.registerOutParameter(1, OracleTypes.ARRAY,"CYJ_ARRAY"); //注:type name:区分大小,不是包中的type, 使用包中定义的type如何调用还不知道
 
  cstmt.execute();
  ARRAY array = (ARRAY)cstmt.getObject(1);
  Object[] items = (Object[])array.getArray();
  Object obj;
 
  for (int i = 0; i < items.length; i++) {
    obj = items[i];
  
   System.out.println(obj);
  
   } // for
} catch (Exception e) {
  e.printStackTrace();
} finally {
  //DbConnRestore.connRestore(rs, cstmt, null, conn);
}
}

}
分享到:
评论
1 楼 k_gx 2009-04-08  
请问楼主有没有碰到过查询出来的VARCHAR2型的字符都是?的情况?

相关推荐

    PL/SqlDeveloper汉化版

    虽然目前来看 PL/SQL Developer 的功能远不如 SQL Developer,但它是用纯 JAVA 开发的 ORACLE 数据库管理工具,所以可以比较轻松的支持跨操作系统平台使用,可以在非 windows OS 上使用。由于 PL/SQL Developer 在 ...

    PL/SQL Developer 6.05注册版-1

    SQL Exporter did not export very old dates in date format - SQL Exporter could export floats with comma as decimal separator &lt;br&gt;PL/SQL Developer主要特性: PL/SQL编辑器,功能强大——该编辑器...

    PL/SQL Developer 7.1.5 注册版-3

    SQL Exporter did not export very old dates in date format - SQL Exporter could export floats with comma as decimal separator &lt;br&gt;PL/SQL Developer主要特性: PL/SQL编辑器,功能强大——该编辑器...

    PL/SQL 6.0 汉化版

    PL/SQL块可以被命名和存储在ORACLE服务器中,同时也能被其他的PL/SQL程序或SQL命令调用,任何客户/服务器工具都能访问PL/SQL程序,具有很好的可重用性。  . 可以使用ORACLE数据工具管理存储在服务器中的PL/SQL程序...

    Oracle_PLSQL语言基础

    PL/SQL块可以被命名和存储在ORACLE服务器中,同时也能被其他的PL/SQL程序或SQL命令调用,任何客户/服务器工具都能访问PL/SQL程序,具有很好的可重用性。  . 可以使用ORACLE数据工具管理存储在服务器中的PL/SQL...

    FTP存储过程(PL/SQL调用)

    FTP存储过程:可在PL/SQL中直接调用去获取远程FTP服务器中的文件。

    Oracle PL/SQL语言入门

    PL/SQL的出现正是为了解决这一问题,PL/SQL是一种过程化语言,属于第三代语言,它与C、 C++、Java等语言一样关注于处理细节,可以用来实现比较复杂的业务逻辑。本文主要介绍PL/SQL的编程基础,以使入门者对PL/SQL...

    PL/SQL Developer

    另外,还含有历史缓存,您可以轻松调用先前执行过的SQL语句。该SQL编辑器提供了同PL/SQL编辑器相同的强大特性。  命令窗口——使用PL/SQL Developer 的命令窗口能够开发并运行SQL脚本。该窗口具有同SQL*Plus相同...

    pl/sql developer 9 + 注册机

    另外,还含有历史缓存,您可以轻松调用先前执行过的SQL语句。该SQL编辑器提供了同PL/SQL编辑器相同的强大特性。 命令窗口  使用PL/SQL Developer 的命令窗口能够开发并运行SQL脚本。该窗口具有同SQL*Plus相同的感观...

    PL/SQL Developer v8.0.zip

    另外,还含有历史缓存,您可以轻松调用先前执行过的SQL语句。该SQL编辑器提供了同PL/SQL编辑器相同的强大特性。 命令窗口——使用PL/SQL Developer 的命令窗口能够开发并运行SQL脚本。该窗口具有同SQL*Plus相同的...

    PL/SQL Developer8.04官网程序_keygen_汉化

     至此,test_procedure存储过程已经完成,经过编译后就可以在其他PL/SQL块或者过程中调用了。  函数与过程具有很大的相似性,此处不再详述。 编辑本段 游标  游标的定义为:用游标来指代一个DML SQL操作返回的...

    PL/Sql相关语法

    接受零个或多个参数作为输入(INPUT)或输出(OUTPUT)、或既作输入又作输出(INOUT),与函数不 同,存储过程没有返回值,存储过程不能由SQL语句直接使用,只能通过EXECUT命令或PL/SQL程序块内部调用

    Oracle PL/SQL 工具包收集

    PL/SQL 各种工具包,包含PDF生成PLSQL工具包 Excel文件生成、 RTF文件生成、 Zip文件压缩与解压、 JSON格式文件生成与解析、 通过PLSQL调用FTP、 发送电子邮寄工具包、 SOAP and REST web services工具包、 XML、HTTP...

    如何通过PL/SQL访问到Web Services

    在Web Services红得发紫的今天,到处都在谈论和使用Web Services;Oracle也始终走在技术的最前沿,早在9i...本文将通过一个实例向你展示如何通过PL/SQL调用Web Services,本文的重点是PL/SQL调用Web Services实现上。

    PL/SQL Developer 7.1.5 注册版

    SQL Exporter did not export very old dates in date format - SQL Exporter could export floats with comma as decimal separator &lt;br&gt;PL/SQL Developer主要特性: PL/SQL编辑器,功能强大——该编辑器...

    PL/SQL解析、生成XML例子

    本例子使用PL/SQL解析和生成XML文件,详细查看rar包中的“说明.txt”

    PL/SQL学习笔记

    PL/SQL有三种集合 联合数组 嵌套表 可变数组 联合数组详解: 什么是数组?数组有什么特点 数据是线性存放的,在内存中地址是连续的 可以用索引来访问 定义联合数组? 联合数组不需要定义长度,他能容纳的元素最大...

    PLSQL基础word

    PL/SQL块可以被命名和存储在ORACLE服务器中,同时也能被其他的PL/SQL程序或SQL命令调用,任何客户/服务器工具都能访问PL/SQL程序,具有很好的可重用性。  . 可以使用ORACLE数据工具管理存储在服务器中的PL/SQL...

    ORACLE PL/SQL 基础教程及参考

    PL/SQL语言是的SQL语言扩展,具有为程序开发而设计的特性,如数据封装、异常处理、面向对象等特性。 PL/SQL是嵌入到Oracle服务器和开发工具中的,具有很高的执行效率和同Oracle数据库的完美结合。在PL/SQL模块中可以...

Global site tag (gtag.js) - Google Analytics