如果事务被回滚,那么在ODP.NET调用的存储过程中的提交是否会被应用?

时间:2014-01-26 05:39:43

标签: transactions odp.net

假设我的存储过程do_something_dangerousCOMMIT;

结尾

进一步假设我的应用程序使用Oracle.ManagedDataAccess来调用此存储过程:

OracleTransaction transaction = connection.BeginTransaction(IsolationLevel.ReadCommitted);
...
doSomethingDangerousCommand.ExecuteNonQuery();
transaction.Rollback();

是否应用do_something_dangerous中的提交?这种行为是否可配置?

1 个答案:

答案 0 :(得分:0)

这应该由https://stackoverflow.com/a/24506990/428805

回答
  

Oracle不支持嵌套事务。如果有交易,   它提交。这就是为什么您通常不想提交(或   回滚)存储过程中的事务,这使其变得困难   如果您的事务语义不同,可以在其他地方重用该过程。