假设我的存储过程do_something_dangerous
以COMMIT;
进一步假设我的应用程序使用Oracle.ManagedDataAccess
来调用此存储过程:
OracleTransaction transaction = connection.BeginTransaction(IsolationLevel.ReadCommitted);
...
doSomethingDangerousCommand.ExecuteNonQuery();
transaction.Rollback();
是否应用do_something_dangerous
中的提交?这种行为是否可配置?
答案 0 :(得分:0)
这应该由https://stackoverflow.com/a/24506990/428805
回答Oracle不支持嵌套事务。如果有交易, 它提交。这就是为什么您通常不想提交(或 回滚)存储过程中的事务,这使其变得困难 如果您的事务语义不同,可以在其他地方重用该过程。