'JAVA'에 해당되는 글 51건
- 2008.08.25 java에서 oracle procedure 사용하기
java에서 oracle procedure 사용하기
//-----------------------------------------------------------------------
JAVA
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import oracle.jdbc.driver.OracleCallableStatement;
import oracle.jdbc.driver.OracleResultSet;
import oracle.jdbc.driver.OracleTypes;
public class RefCursor {
public static void main(String[] args) throws SQLException {
RefCursor vTest = new RefCursor();
vTest.prepareCall();
}
void prepareCall() throws SQLException {
CallableStatement cstmt = null;
OracleCallableStatement ocstmt = null;
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
Connection conn = DriverManager.getConnection(
"jdbc:oracle:thin:@127.0.0.1:1521:dbsid", "admin", "admin");
cstmt = conn.prepareCall("BEGIN ta_site_pkg.ta_site_pkg_body(?,?); END;");
cstmt.setInt(1, 1);
cstmt.registerOutParameter(2, OracleTypes.CURSOR);
cstmt.execute();
ocstmt = (OracleCallableStatement) cstmt;
ResultSet rs = (OracleResultSet) ocstmt.getCursor(2);
while (rs.next()) {
System.out.println(rs.getString(1));
}
}
}
//--------------------------------------------------------------
DB
CREATE OR REPLACE PACKAGE ta_site_pkg AS
TYPE ref_type IS REF CURSOR;
PROCEDURE ta_site_pkg_body
(
p_code IN NUMBER,
v_result OUT ref_type
);
END;
/
CREATE OR REPLACE PACKAGE BODY ta_site_pkg AS
PROCEDURE ta_site_pkg_body
(
p_code IN NUMBER,
v_result OUT ref_type
)
AS
BEGIN
OPEN v_result FOR
SELECT site_name
FROM ta_site
WHERE site_code=p_code;
END;
END;
/
//------------------------------------------------------------
참조사이트