2013-10-03 3 views
1

'OUT'매개 변수를 사용하여 Oracle에서 Java 프로 시저를 만들어야합니다. 절차는 다음과 같이해야합니다 : 난 그렇게 어떻게Java 저장 프로 시저 : OUT 매개 변수

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 

!

+0

@Augusto 화를 내지 마라. 나는 그 문제를 해결했다. –

답변

-1

글쎄, 다음과 같습니다.

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

그는 자바 함수를 공개하려고합니다. –

관련 문제