[JAVA JDBC] Procedure with Multi ResultSet

개발자 | 2008. 11. 11. 10:11
JAVA의 JDBC를 이용해 프로시저를 호출할 때 여러 결과셋(ResultSet)을 받고 싶을 때
코드 예제입니다.

--프로시저 내용
CREATE       PROC 프로시저명
AS

SELECT *
FROM 테이블 1
WHERE 조건들...

SELECT *
FROM 테이블 2
WHERE 조건...

SELECT *
FROM 테이블 3
WHERE 조건들...
GO


위와 같을 때 JAVA 코드는

       
CallableStatement cs = null;
        cs = con.prepareCall("{call 프로시저()}");
        ResultSet rs = cs.executeQuery();
        while( rs.next() )
        {
            System.out.println(rs.getString(1));
        }
       
        System.out.println("-----------------------------");
        if( cs.getMoreResults() )
        {
            System.out.println("2개 이상의 ResultSet 존재함");
            rs = cs.getResultSet();
            while( rs.next() )
            {
                System.out.println(rs.getString(1));
            }
            rs.close();
        }
        else
        {
            System.out.println("ResultSet이 더이상 없습니다.");
        }
출처 : http://newkain.egloos.com/1779771
,