1 Oracle索引表类型作为返回值
1.1 创建索引表
使用Java调用oracle函数返回索引表类型的集合,索引表的创建必须在oracle包中声明,下面是例子
CREATE OR REPLACE package plsql_ret_type
is
/*
add by HJ
创建一个返回Pl/sql索引表类型的集合,用于java调用返回使用
*/
type sqlindext istable of varchar2(20) index by binary_integer;
end plsql_ret_type;
1.2 创建一个oracle函数使得返回索引表类型
CREATE OR REPLACE function funtry_ret_index
return plsql_ret_type.sqlindext is
/*
add by HJ 测试Java调用数据库返回数据库返回索引表类型的集合
*/
array plsql_ret_type.sqlindext;
begin
fori in1..10 loop
array(i):='array'||i;
end loop;
For in1..Array.Count Loop
dbms_output.put_line(Array(i));
End Loop;
Return Array;
end funtry_ret_index;
1.3 java调用oracle函数返回索引表类型
使用该java类时必须加入包ojdbc.jar和nls_charset12.jar,笔者运行时使用的ojdbc14.jar,
这两个包在oracle安装目录下 .. oracle\product\10.2.0\db_1\jdbc\lib
package testp;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import oracle.jdbc.OracleCallableStatement;
import oracle.jdbc.OracleTypes;
import oracle.sql.ARRAY;
public class TestJdbcTest {
public final static String driver="oracle.jdbc.driver.OracleDriver";
public final static String url="jdbc:oracle:thin:@192.168.161.801:1521:oracle";
public final static String userName="ef";
public final static String passWord