我想在java
中使用jdbc编写一个事务。
我尝试过这个简单的交易
"BEGIN TRANSACTION"+NL+"GO"+NL+"UPDATE table SET col='test' where id=1010"+NL+"GO"+NL+"COMMIT"
我试过
NL= "\n" and NL="\r\n" and NL="\r"
但我总是遇到以下错误:
java.sql.SQLException:'GO'附近的语法不正确。
在sql server management studio
交易有效
答案 0 :(得分:7)
获取您的Connection对象。关闭自动提交。
connection.setAutoCommit(false);
将整个交易包裹在try
- catch
块中。处理完插入/更新后,请致电:
connection.commit();
如果您遇到异常,请致电:
connection.rollback();
此时不要将事务语句放在JDBC的SQL中。我建议看一下包装器,比如Hibernate和JPA。 JDBC中的事务可以很长时间。