我正在尝试了解并发性,我正在使用带有SQLPlus的Oracle数据库。
我有两笔交易:
交易1:
SET ECHO ON
SET VERIFY OFF
SELECT ename, city
FROM EMPLOYER
WHERE state = 'New South Wales';
UPDATE POSITION
SET bonus = salary / 10
WHERE salary > 100000;
COMMIT;
交易2:
SET VERIFY OFF
SET ECHO ON
ACCEPT AdditionBonus NUMBER PROMPT 'Addition Bonus>'
UPDATE POSITION
SET bonus = NVL(bonus, 0) + &AdditionBonus
WHERE pnumber < 00000007;
UPDATE POSITION
SET salary = salary + 1000
WHERE salary < 400000;
COMMIT;
我试图确定我是否可以在READ COMMITTED中运行它们,或者它是否必须是SERIALIZABLE。我也试图记下这些交易同时运行的可能时间表,但它正在努力。到目前为止,SE上的其他类似问题确实为我澄清了这个问题。
我如何在两种模式下确定这些交易的时间表?
编辑:来自POSITION
PNUMBER SALARY BONUS
---------- ---------- ----------
1 45000
2 450000 45000
3 50000
4 200000 20000
5 200000 20000
6 100000
7 800000 80000
8 45000 100000
9 450000 45000
10 50000