Java存储过程:OUT参数
我必须在Oracle中使用'OUT'参数制作一些java过程。 程序必须如下所示:Java存储过程:OUT参数,java,oracle,stored-procedures,Java,Oracle,Stored Procedures,我必须在Oracle中使用'OUT'参数制作一些java过程。 程序必须如下所示: create or replace procedure SomeProcedure(input1 IN VARCHAR2, result1 OUT VARCHAR2, result2 OUT VARCHAR2) ... ... 我该怎么做?我必须如何指定Java类和方法?如何从这个类和方法创建存储过程? 有简单的例子吗 UPD:只要解决这个问题: create or replace and compile j
create or replace
procedure SomeProcedure(input1 IN VARCHAR2, result1 OUT VARCHAR2, result2 OUT VARCHAR2)
...
...
我该怎么做?我必须如何指定Java类和方法?如何从这个类和方法创建存储过程?
有简单的例子吗
UPD:只要解决这个问题:
create or replace and compile java source named "TestOutParams" as
public class TestOutParams{
public static void someMethod(String[] value){
value[0] = "Hello";
}
};
/
create or replace procedure TestOutParams(value OUT VARCHAR2) as
language java
NAME 'TestOutParams.someMethod(java.lang.String[])';
/
SQL>var value VARCHAR2(40);
SQL>exec TestOutParams(:value);
PL/SQL procedure successfully completed.
SQL>PRINT value;
VALUE
---------
Hello
我不知道,为什么,但它的工作 嗯,是这样的
CallableStatement stmt = null;
stmt = conn.prepareCall("begin SomeProcedure(?,?,?); end;");
stmt.setString(1, new String("value1")); // Bind 1st input parameter
stmt.setString(2, new String("value2")); // Bind 2nd input parameter
stmt.registerOutParameter(3, Types.VARCHAR); // 3rd parameter is OUT
stmt.execute();
String retcod = new String(stmt.getInt(3));
@奥古斯托,别生气。我解决了这个问题,他想公开一个java函数。