您可以调用多个存储过程作为事务回滚的一部分吗
本文关键字:事务 一部分 调用 存储过程 | 更新日期: 2023-09-27 18:00:25
我有一个创建记录的存储过程。
我可以使用SqlTransaction对象多次调用create并在任何插入失败时回滚所有插入吗?
只要存储过程不提交自己:是的,你可以这样做。
这是一开始就有交易的原因。
是的,只需在事务中多次执行该命令,并为提交/回滚添加一个try/catch
块:
transaction = connection.BeginTransaction("SampleTransaction");
try {
// Execute Stored Procedure n times here.
transaction.Commit();
} catch(SQLException e) {
transaction.Rollback();
}
http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqltransaction.aspx
为了获得最佳实践,您可能希望将.Rollback
封装在try/catch中,以防回滚失败。