Учебно-практическое пособие москва 2017 ббк


BEGIN TRANSACTION ISOLATION LEVEL REPEATABLE READ



Pdf көрінісі
бет200/243
Дата21.07.2022
өлшемі3,05 Mb.
#147663
түріУчебно-практическое пособие
1   ...   196   197   198   199   200   201   202   203   ...   243
Байланысты:
Язык SQL. Базовый курс

BEGIN TRANSACTION ISOLATION LEVEL REPEATABLE READ;
BEGIN
Добавим одну строку:
INSERT INTO aircrafts_tmp VALUES ( 'IL9', 'Ilyushin IL96', 9800 );
INSERT 0 1
А одну строку обновим:
UPDATE aircrafts_tmp SET range = range + 100
WHERE aircraft_code = '320';
UPDATE 1
END;
COMMIT
Переходим на первый терминал.
SELECT * FROM aircrafts_tmp;
На первом терминале ничего не изменилось: фантомные строки не видны, и также
не видны изменения в уже существующих строках. Это объясняется тем, что снимок
данных выполняется на момент начала выполнения первого запроса транзакции.
aircraft_code |
model
| range
---------------+---------------------+-------
320
| Airbus A320-200
| 5700
321
| Airbus A321-200
| 5600
319
| Airbus A319-100
| 6700
SU9
| Sukhoi SuperJet-100 | 3700
CN1
| Cessna 208 Caravan | 2100
CR2
| Bombardier CRJ-200 | 1900
(6 строк)
Завершим первую транзакцию тоже:
END;
COMMIT
А теперь посмотрим, что изменилось в таблице:
SELECT * FROM aircrafts_tmp;
aircraft_code |
model
| range
---------------+---------------------+-------
321
| Airbus A321-200
| 5600
319
| Airbus A319-100
| 6700
SU9
| Sukhoi SuperJet-100 | 3700
CN1
| Cessna 208 Caravan | 2100
CR2
| Bombardier CRJ-200 | 1900
IL9
| Ilyushin IL96
| 9800
208


320
| Airbus A320-200
| 5800
(7 строк)
Как видим, одна строка добавлена, а значение атрибута range у самолета Airbus A320-
200 стало на 100 больше, чем было. Но до тех пор, пока мы на первом терминале на-
ходились в процессе выполнения первой транзакции, все эти изменения не были ей
доступны, поскольку первая транзакция использовала снимок, сделанный до внесе-
ния изменений и их фиксации второй транзакцией.
Теперь покажем ошибки сериализации.
Начнем транзакцию на первом терминале:


Достарыңызбен бөлісу:
1   ...   196   197   198   199   200   201   202   203   ...   243




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет