cfml事务提交回滚不同的事务

时间:2015-03-10 13:04:12

标签: transactions rollback cfml

是否可以拥有一个事务,提交该事务,拥有一个新事务,当第二个事务中出现错误时,是否可以回滚这两个事务?

见下文:

transaction action="begin" {
  transaction action="SetSavepoint" savepoint="sp1";

  try {
      .. do something ...
      transactionCommit();
  }
  catch (any, e) {
     transactionRollback("sp1");
  }
}

transaction action="begin" {
  transaction action="SetSavepoint" savepoint="sp2";

  try {
      .. do something ...
      transactionCommit();
  }
  catch (any, e) {
     transactionRollback("sp1");
     transactionRollback("sp2");
  }
} 

1 个答案:

答案 0 :(得分:0)

没有。提交事务是最终的。它无法回滚。

请记住,CF的唯一作用是将sql命令转发到dbms。数据库完成剩下的工作。因此,如果您对特定SQL操作的行为有疑问,请参阅数据库文档。例如: