CallableStatement
Oracle 에서 입력된 stored procedure 를 java에서 실행해서 결과를 얻고 싶으시다면 Statement 대신에 CallableStatement 라는걸 쓰시면 됩니다.
그 뒤에는 어차피 insert, update 같은 것들과 같이 성공 또는 실패, 성공시 몇개가 성공했는지, query 인 경우에는 ResultSet 받아서 fetch 하면서 값 뽑아서 쓰시면 됩니다. Connection 까지는 똑같고 그 다음부터가 약간 다른데 대충 아래와 같습니다.
// 위에서 JDBC 드라이버 잡고 Connection 까지 맺은 상태... CallableStatement cs = con.prepareCall("{call myStoredProcedure(?,?,?)}");
|
PreparedStatement
CallableStatement
자바에서 저장프로시져 호출하는건 PreparedStatement 클래스를 사용하는 방법과 CallableStatement 클래스
를 사용하는 방법이 있습니다.
먼저 CallableStatement 클래스를 사용하여 저장프로시져 호출 방법
ResultSet rs = null; CallableStatement cs = null;
cs = conn.prepareCall("{call dbo.comempsearch(?)}");
이렇게 하면 디비에 저장되어있는 comempsearch라는 프로시져를 호출 하는겁니다.
?표는 저장프로시져에 받을 파라미터를 넘길수 있습니다.(단점: 저장프로시져에서 선언한 순서대로 파라미터를
넘겨야 됩니다.)
PreparedStatement 클래스를 사용하는 방법 PreparedStatement pstmt = null; ResultSet rs = null;
String sqlQuery = "exec jaorderprc @pWORKGB ='S', @pUSERID ='"+userID+"', @pFIRSTDATE ='"+firstDate+"'";
이렇게 해서 jaorderprc프로시져를 호출 할수 있습니다. 이건 프로시져에서 선언한 변수들을 수동으로 값을 정
해줄수 있습니다.(변수 선언 순서를 신경 안써도 된다는 장점이 있습니다.)
이렇게 해서 프로시져를 호출 하면 select문경우 값을 받을때는
while(rs.next()){
제가 짠 소스는 변수만 선언해둔 클래스를 사용하여 한것입니다.
|
'DB' 카테고리의 다른 글
toad 단축키 (0) | 2011.09.14 |
---|---|
오라클 XE 세션처리량 확인 및 늘리기 (0) | 2011.09.07 |
PreparedStatement like 검색시 바인드 방법 (0) | 2011.09.07 |
[Oracle 10g] `BIN$+......==$0` 알수없는 테이블 전체공개 (0) | 2011.09.07 |
CLOB 형 데이터는 어떻게 검색을 하지요? (0) | 2011.09.07 |