CallableStatement 인터페이스, CallableStatement 사용 방법, Interface CallableStatement

CODEDRAGON Development/Java

반응형

 

 

CallableStatement 인터페이스

·       CallableStatement DBMS의 저장 프로시저(Stored Procedure)를 호출할 수 있는 인터페이스로 Statement인터페이스와 PreparedStatement인터페이스의 메소드를 상속받고 있습니다.

·       저장 프로시저란 파라미터를 받을 수 있고, 다른 애플리케이션이나 PL/SQL 루틴에서 호출할 수 있는 이름을 가진 PL/SQL 블록입니다. , SQL문을 프로그램화하여 함수화 시킨 스크립트 언어입니다.

·       SQL문을 프로그램화 시켰기 때문에 조건문, 반복문, 변수처리 등을 사용할 수 있기 때문에 일괄처리 및 조건에 따라 다른 SQL문을 작성할 때 편리합니다.

·       DBMS에 저장된 Stored Procedure 호출하기 위해 존재하는 객체로 이를 잘 활용하면 좀 더 빠른 성능의 프로그램을 구현할 수 있습니다.

 

 

CallableStatement 사용 방법

Connection 객체의 preparedCall()메소드를 실행시키면 CallableStatement인터페이스의 객체를 생성할수 있는데 Statement객체를 생성하기 위해 SQL문을 인자로 지정한 것처럼 prepareCall()메소드의 인자로 저장된 프로시저를 호출하는 문장을 지정해야 합니다.

prepareStatement()메소드를 호출할 때 실행될 SQL문을 지정한 것처럼 prepareCall()메소드를 호출할 때 "저장 프로시저 호출문"을 지정합니다.

 

CallableStatement 객체명 = Connection객체.prepareCall("저장프로시저 호출문");

 

CallableStatement cstmt = con.prepareCall("{call adjust(?,?)}");

CallableStatement Connection 인터페이스의 prepareCall()를 사용하면 됩니다.

 

prepareCall(String procedure) 프로시저 형태

prepareCall(String procedure) 의 프로시저는 2가지 형태를 가지고 있습니다.

 

prepareCall(String procedure){?= call <procedure-name>[<arg1>,<arg2>, ...]}

<arg1>,<arg2>,.. PreparedStatement 처럼 바인딩 변수로 처리 하고,

? registerOutParameter(~)계열의 메서드를 사용합니다.

 

prepareCall(String procedure){call <procedure-name>[<arg1>,<arg2>, ...]}

<arg1>,<arg2>,.. PreparedStatement 처럼 바인딩 변수로 처리 합니다.

 

 

 

Interface CallableStatement

https://docs.oracle.com/javase/8/docs/api/java/sql/CallableStatement.html