事务如何表现;如果我使用使用单java.sql.Statement
在单个java.sql.Statement上执行多个DML
String sqlStr = "INSERT INTO.... \n update t1 set....";
statemet.execute(sqlStr);
以下语法执行多个DML我不改变默认的连接设置(自动提交= TRUE)。
我知道这不是正确的方法/最佳实践;只是好奇地知道以上代码的事务性质 也就是说,如果更新失败,并且SQLException会插入回滚?
在这种情况下,您可以通过使用SET XACT_ABORT使SQL Server回滚以前的语句(或不是):http://msdn.microsoft.com/en-us/library/ms188792.aspx – 2010-11-10 11:14:14