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

Transactions 如果回滚事务,是否应用ODP.NET调用的存储过程中的提交?,transactions,odp.net,Transactions,Odp.net,假设我的存储过程do\u something\u danger以COMMIT结尾 进一步假设我的应用程序使用Oracle.ManagedDataAccess调用此存储过程: OracleTransaction transaction = connection.BeginTransaction(IsolationLevel.ReadCommitted); ... doSomethingDangerousCommand.ExecuteNonQuery(); transaction.Rollback(

假设我的存储过程
do\u something\u danger
COMMIT结尾

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

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

是否应用
do\u something\u danger
中的提交?此行为可配置吗?

这应该由

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