我有一个创建记录的存储过程。
我可以使用 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 中,以防回滚失败。