Oracle中可以同时运行两个事务吗?

时间:2010-08-06 20:38:14

标签: transactions concurrency oracle10g

我有一个方法

void SaveApplicationData()
{
   begin transaction
   update
   insert
   commit transaction
}

如果两个用户同时调用此方法,这两个数据库事务可以同时运行吗?

4 个答案:

答案 0 :(得分:1)

是的,他们可以同时运行

答案 1 :(得分:1)

可以同时运行大量事务。但是,如果他们正在更新相同的行,他们可能会遇到锁定问题,并且可能会回滚一个或多个。 (自从我处理冲突的交易以来已经很长时间了。)

答案 2 :(得分:0)

确保使用正确的Isolation Level

答案 3 :(得分:0)

否,它不能同时运行。假设您有一个拥有k美元的帐户,并且在第一笔交易中您要求提取k美元,在第二笔交易中您要求相同。您将获得2 k美元,因为您同时进行了交易,并且您的帐户余额显示两次交易的k美元。所以避免这种情况,我认为他们使用同步。没有完成第一笔交易,您将无法继续第二笔交易;如果您继续,则必须等到第一笔交易完成。