利用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) { }