JDBCの更新可能なResultSetを試す
主なDBで更新可能なResultSetを使えるか試してみました。
試したコードを抜粋するとこんなかんじ。
String sql = "select employee_name, employee_id from Employee"; PreparedStatement ps = con.prepareStatement( sql, ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_UPDATABLE); ResultSet rs = ps.executeQuery(); while (rs.next()) { String name = rs.getString(1); rs.updateString(1, name + "Hoge"); rs.updateRow(); }
1つの表のSELECT | 結合を使って複数表のSELECT | |
---|---|---|
Oracle Database 10g Express Edition 10.2 | ○ | × |
DB2 Express Edition v9.5 | △ *1 | × |
SQL Server 2005 Express Edition SP2 | × *2 | × |
MySQL 5.0.45 | ○ *3 | × |
PostgreSQL 8.2.4 | ○ *4 | × |
厳密にはJDBCドライバのバージョンも示したほうがいいのかもと思いつつ、ちょっと面倒なので省略。