일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- sencha touch
- PLSQL
- WebLogic
- node.js
- phonegap
- Struts
- 선택적조인
- appspresso
- Android
- 전자정부프레임워크
- rowspan
- jsr 296
- JSON
- swingx
- Spring
- Eclipse
- dock
- ibsheet
- PHP
- Ajax
- 가우스
- tomcat
- iBATIS
- oracle
- jQuery
- MFC
- Google Map
- MySQL
- JDOM
- GPS
- Today
- Total
Where The Streets Have No Name
procedure 호출 본문
호출할 procedure는
-------------------------------------------------------
CREATE OR REPLACE PROCEDURE update_bum
(nums IN NUMBER, p_out OUT varchar2)
IS
BEGIN
UPDATE bumworld
SET content = '수정'
WHERE num = nums;
COMMIT;
p_out := 'save';
END update_bum;
--------------------------------------------------------
입니다.
첫번째 인자에 값을 넣고 두번째 인자로 값을 받는거.
아무튼 내용은
---------------------------------------------------------
import java.sql.*;
/**
* @author bumworld
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class ProcedureTest {
Connection conn = null;
PoolManagerBean db; <- 요놈은 개인적으로 사용하는 connection pool
public ProcedureTest() {
try {
db = PoolManagerBean.getInstance();
conn = db.getConnection();
} catch (Exception e) {
e.printStackTrace();
}
}
public String procedure() {
CallableStatement cs;
String out = "";
try {
cs = conn.prepareCall("{call update_bum(?, ?)}"); <-- procedure name
cs.setInt(1, 1); <-- 첫번째 인자
cs.registerOutParameter(2, java.sql.Types.VARCHAR); <-- 두번째 받을 값
cs.executeUpdate();
out = cs.getString(2); <-- 실제 return
} catch (SQLException e) {
e.printStackTrace();
}
return out;
}
public static void main(String [] args) {
ProcedureTest proc = new ProcedureTest();
String str = proc.procedure();
System.out.println("받은값 : " + str);
}
}