Я пытаюсь создать простой пример, чтобы понять, как хранить, а затем извлекать данные (массив с плавающей запятой) из/в программу Java в базу данных Oracle (11,2 ГБ) с помощью хранимой процедуры PL/SQL на основе VARRAY.
Я изо всех сил старался собрать программу на 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;