CallableStatement

CallableStatement (저장 프로시저 실행 인터페이스)

SQL 저장 프로시저를 실행하기 위해 사용하는 인터페이스입니다. JDBC API는 모든 RDBMS에서 표준 방식으로 저장 프로시저를 호출할 수 있게 해주는 저장 프로시저 SQL 이스케이프 구문을 제공합니다.

출처: Java API Reference

본문

이 이스케이프 구문에는 결과 매개변수를 포함하는 형태와 포함하지 않는 형태가 있습니다. 결과 매개변수를 사용한다면 OUT 매개변수로 등록해야 해요. 다른 매개변수는 입력, 출력 또는 둘 다에 사용할 수 있으며, 매개변수는 번호로 순차적으로 참조됩니다(첫 매개변수가 1).

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

IN 매개변수 값은 PreparedStatement에서 상속된 set 메서드로 설정됩니다. 모든 OUT 매개변수의 타입은 저장 프로시저를 실행하기 전에 등록해야 하며, 실행 후 이 인터페이스가 제공하는 get 메서드로 값을 가져옵니다.

CallableStatement는 ResultSet 객체 하나 또는 여러 개를 반환할 수 있어요. 여러 ResultSet 객체는 Statement에서 상속된 연산으로 처리됩니다. 최대의 이식성을 위해 호출의 ResultSet 객체와 갱신 횟수는 출력 매개변수의 값을 가져오기 전에 처리해야 합니다.

대표적인 메서드

void registerOutParameter(int parameterIndex, int sqlType) throws SQLException
boolean getBoolean(int parameterIndex) throws SQLException
String getString(int parameterIndex) throws SQLException
BigDecimal getBigDecimal(int parameterIndex) throws SQLException
Object getObject(int parameterIndex) throws SQLException

더 알아보기 (Learn more)

Java 공식 API