Java執行Store Procedure預儲程序

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

發表迴響