大型系統常將核心邏輯封裝於資料庫預存程序,Java 應用透過 JDBC 呼叫。本文建立呼叫基礎範本。
預存程序 = 編譯後存於資料庫的 SQL + 控制流程集合,支援輸入/輸出參數,執行效率高、減少網路傳輸。
CallableStatement cs = conn.prepareCall("{call pro1(?)}");
cs.setInt(1, 188); // 設定第 1 個 IN 參數
cs.execute(); // 執行
conn.close();
CallableStatement cs = conn.prepareCall("{call pro2(?, ?)}");
cs.setInt(1, 188); // IN 參數
cs.registerOutParameter(2, Types.INTEGER); // 註冊第 2 個 OUT 參數型別
cs.execute();
int result = cs.getInt(2); // 取得 OUT 參數值
System.out.println(result);
conn.close();
| 參數類型 | 設定方法 | 註冊方法 | 取得方法 |
|---|---|---|---|
| IN | setXxx(index, val) | — | — |
| OUT | — | registerOutParameter(index, sqlType) | getXxx(index) |
| IN/OUT | setXxx(index, val) | registerOutParameter(index, sqlType) | getXxx(index) |
下一篇將深入 Java 撰寫 Oracle 預存程序,實現邏輯下沉資料庫層。