Transaction 1 Transaction 2
SELECT budget
FROM DEPARTMENT
WHERE name = 'SALES';
2000
UPDATE DEPARTMENT SET BUDGET = BUDGET + 1000 WHERE NAME = 'Sales';
SELECT budget
FROM DEPARTMENT
WHERE name = 'SALES';
3000
ROLLBACK;
???
Transaction 1 Transaction 2
SELECT budget
FROM DEPARTMENT
WHERE name = 'SALES';
2000
UPDATE DEPARTMENT SET BUDGET = BUDGET + 1000 WHERE NAME = 'Sales';
SELECT budget
FROM DEPARTMENT
WHERE name = 'SALES';
2000
ROLLBACK;
Transaction 1 Transaction 2
SELECT budget
FROM DEPARTMENT
WHERE name = 'SALES';
2000
UPDATE DEPARTMENT SET BUDGET = BUDGET + 1000 WHERE NAME = 'Sales';
COMMIT;
SELECT budget
FROM DEPARTMENT
WHERE name = 'SALES';
3000
???
Transaction 1 Transaction 2
SELECT count(*)
FROM DEPARTMENT
20
DELETE DEPARTMENT WHERE NAME = 'Sales';
COMMIT;
SELECT count(*)
FROM DEPARTMENT
19
Transaction 1 Transaction 2
SELECT count(*)
FROM DEPARTMENT
20
DELETE DEPARTMENT WHERE NAME = 'Sales';
COMMIT;
SELECT count(*)
FROM DEPARTMENT
20
Level Dirty Read Nonrepeatable Read Phantom -------------------------------------------------------------------------------- READ UNCOMMITTED Possible Possible Possible READ COMMITTED not possible Possible Possible REPEATABLE READ not possible not possible Possible SERIALIZABLE not possible not possible not possible
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;