我有两个PL/SQL存储过程,每个过程都处理自己的事务(在出现错误的情况下进行Begin/Commit和Rollback)。从.Net代码中,我像下面所示调用这两个存储过程。
using (TransactionScope ts = new TransactionScope())
{
CallSP1();
CallSP2().
ts.SetComplete();
}
如果我的对SP2的调用失败了,那么它会回滚CallSP1()所做的更改吗?如果不回滚,这是否意味着最好从.Net应用程序中处理事务而不是在存储过程内部处理?