利用JDBC取得Connection後,可以利用以下幾種方式來執行資料庫的Store Procedure
1.沒參數
CallableStatement cs;
try {
// 設定 CallableStatement
cs = connection.prepareCall("{call myproc}");
// 執行 CallableStatement
cs.execute();
} catch (SQLException e) {
}
2.有IN參數
CallableStatement cs;
try {
// 設定 CallableStatement
cs = connection.prepareCall("{call myprocin(?)}");
// 設定 IN 參數的 Index 及值
cs.setString(1, "IN值");
// 執行 CallableStatement
cs.execute();
} catch (SQLException e) {
}
3.有OUT參數
CallableStatement cs;
try {
// 設定 CallableStatement
cs = connection.prepareCall("{call myprocout(?)}");
// 定義 OUT 參數的 Index 與型態
cs.registerOutParameter(1, Types.VARCHAR);
// 執行並取回 OUT 參數值
cs.execute();
String outParam = cs.getString(1); // OUT 參數值
} catch (SQLException e) {
}
4.有IN及OUT參數
CallableStatement cs;
try {
// 設定 CallableStatement
cs = connection.prepareCall("{call myprocinout(?)}");
// 定義 OUT 參數的 Index 與型態
cs.registerOutParameter(1, Types.VARCHAR);
// 設定 IN參數的 Index 及值
cs.setString(1, "IN值");
// 執行並取回 OUT 參數值
cs.execute();
String outParam = cs.getString(1); // OUT 回傳值
} catch (SQLException e) {
}