一个PreparedStatement中的多个SQL字符串

时间:2014-06-30 10:52:17

标签: sql postgresql prepared-statement

我已经在这里阅读了其他一些问题,在一个预准备语句中不可能使用多个不同的sql查询。

String name = "XYZ";
int orderId = 10;
int imageId = 5;
String statement = "UPDATE T_order SET name = ? WHERE orderId =  ?; UPDATE T_Order_Relations SET imageId = ? WHERE T_Order_Relations.orderId = ?";
PreparedStatement ps = connection.prepareStatement(statement)
ps.setString(1, name);
ps.setInt(2,orderId);
ps.setInt(3,imageId);
ps.setInt(4,orderId);

我曾假设,这会导致dbms或其他任何异常,但实际上我可以毫无问题地执行此语句。此外,更改也在db中完成。那么可以使用这样的查询吗? 另一个问题是,那两个查询都像单个事务一样执行(自动提交模式)吗? 正如DBMS我正在使用PostgreSQL 9.3

0 个答案:

没有答案