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

發表迴響