JDBC Store Procedure
今天研究了在 JDBC 中如何呼叫 DB 的 Store Procedure, 在 Java Doc裡面說到, JDBC 提供了一種通用的寫法來呼叫 Store Procedure, 以因應各種不同的 DB(由於目前各 DB 呼叫 Stroe Procedure 的方法不一). 而其寫法如下:
{?= call <procedure-name>[<arg1>,<arg2>
...] } {call <procedure-name>
[ <arg1>,<arg2>...]}
而若不使用上述標準寫法, 也可以直接打指令, 例如 SQL Server 為
- exec <procedure-name>
[ <arg1>,<arg2>...]
總的來說, 若 SQL 有用 { } 包起來, 則代表下的命令是 JDBC 的規範. 語法就如上所述..
若沒有用 { } 包起來, 則就要寫符合所用的 Database 之語法規範
第一種的範例片段如下:
CallableStatement stmt = conn.prepareCall("{? = call test_sp ?, ?}");
stmt.registerOutParameter(1, Types.INTEGER);
stmt.setString(2, "008");
stmt.setString(3, "008");
ResultSet rs = stmt.executeQuery();
0 Comments:
張貼留言
<< Home