【发布时间】:2012-03-22 02:55:08
【问题描述】:
我正在尝试创建一个简单的示例来了解如何通过基于 VARRAY 的 PL/SQL 存储过程将数据从 Java 程序存储到 Oracle 数据库 (11.2G),然后将数据从 Java 程序检索到 Oracle 数据库 (11.2G)。
我已尽力将 Java 程序放在一起,但可能会出现一两个错误。我还坚持如何编写 PL/SQL 代码来编写然后从数据库读取 VARRAY。任何意见,将不胜感激。
Java 程序:
// create example array
double[] myArray = new double[3];
myArray[0] = 1.1;
myArray[1] = 2.2;
myArray[2] = 3.3;
...
// setup call to stored procedure using SQL92 syntax
cs = conn.prepareCall( "{call my_sproc (?,?)}" );
// set IN parameters
cs.setString(1, myArray);
// set OUT parameters
cs.registerOutParameter(2, Types.ARRAY, "my_array");
// execute
cs.execute();
// retrieve array
double[] returnedArray = new double[3];
returnedArray = cs.getArray(2);
...
PL/SQL 存储过程:
create or replace procedure my_sproc (
input_array IN as VARRAY(3) of BINARY_FLOAT,
output_array OUT as VARRAY(3) of BINARY_FLOAT )
as
begin
-- how to write input_array into any example table?
-- how to read input_array from example table and store in variable: output_array?
end my_sproc;
【问题讨论】:
标签: java database plsql oracle11g