2024年4月11日发(作者:)
Java(CallableStatement)调用Oracle存储过程返回结果集(ResultSet)
一:无返回值的存储过程调用
存储过程:
CREATE OR REPLACE PROCEDURE PRO_1(PARA1 IN VARCHAR2,PARA2 IN
VARCHAR2) AS
BEGIN
INSERT INTO (ID,NAME) VALUES (PARA1, PARA2);
END PRO_1;
Java代码:
package e;
import .*;
import Set;
public class CallProcedureTest1 {
public CallProcedureTest1() {
super();
}
public static void main(String[] args) {
String driver = "Driver";
String url = "jdbc:oracle:thin:@127.0.0.1:1521:orcl ";
String user = "admin";
String pwd = "password";
Connection conn = null;
CallableStatement cs = null;
ResultSet rs = null;
try {
e(driver);
conn = nection(url, user, pwd);
cs = eCall("{ call _1(?,?) }");
ing(1, "10");
ing(2, "Peter");
e();
} catch (SQLException e) {
tackTrace();
} catch (Exception e) {
tackTrace();
} finally {
try {
if (rs != null) {
();
}
if (cs != null) {
();
}
if (conn != null) {
();
}
} catch (SQLException e) {
}
}
}
}
备注,存储过程PRO_1中用到了表EMP(ID, NAME),需事先建好
二:有返回值的存储过程(非结果集)
存储过程:
CREATE OR REPLACE PROCEDURE PRO_2(PARA1 IN VARCHAR2,PARA2 OUT
VARCHAR2) AS
BEGIN
SELECT INTO PARA2 FROM EMP WHERE ID= PARA1;
END PRO_2;
Java代码:
package e;
import .*;


发布评论