카테고리 없음

PL/SQL 이클립스에서 사용하기!

초보개발자뀨 2021. 3. 23. 22:16

procedure javatest 

create or replace procedure javatest(
    p1 in varchar2,
    p2 in out varchar2,
    p3 out varchar2

)

as
begin
    p2 := p1 || p2;
    p3 := p1;
end;

 

CallInOutProceduer.java

package p02.plsql_procedure;

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Types;

public class CallInOutProceduer {

	public static void main(String[] args) throws SQLException {
		Connection conn =null;
		DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
		String str = "jdbc:oracle:thin:@localhost:1521:orcl"; // 사무실 번지
		conn = DriverManager.getConnection(str, "madang", "madang");// Door lock
		System.out.println("madang 데이터베이스에 접속하였습니다");
		
		String p1value= new String("a");
		String p2value = new String("b");
		String p3value;
        
		//프로시저 사용엔 CallableStatement이 편해 사용했습니다.
        
		CallableStatement cs = conn.prepareCall("{call javatest(?,?,?)}");
		cs.setString(1, p1value);
		cs.setString(2, p2value);
		cs.registerOutParameter(2, Types.VARCHAR);
		cs.registerOutParameter(3, Types.VARCHAR);
		
		cs.execute();
		
		p2value = cs.getString(2);
		p3value = cs.getString(3);
		
		System.out.println("p2 : "+p2value);
		System.out.println("p3 : "+p3value);
		
		
		
	}

}