簡體   English   中英

Java存儲過程:OUT參數

[英]Java Stored Procedure: OUT params

我必須使用“ OUT”參數在Oracle中創建一些Java過程。 程序必須是這樣的:

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));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM