假设我有从c#代码执行的多个存储过程的代码。在异常情况下,每个存储过程都有提交和回滚。在这些存储过程中处理异常并返回处理的错误消息。
如果我有一个OracleTransaction.BeginTransaction()"运行",在执行存储过程时在同一连接对象上,c#代码中的OracleTransaction.Rollback()实际上回滚先前执行的数据存储过程。
逻辑如下:
答案 0 :(得分:2)
COMMIT
结束当前事务,新事务以下一个可执行SQL语句开始。因此,后续的ROLLBACK
只能撤消以前的{em> 所做的更改,而之前的 。