Исходный код вики Примеры.

Версия 1.2 от Alexandr Fokin на 2023/01/08 19:09

Последние авторы
1 |(% style="width:257px" %)**Необходимый уровень изоляции**|(% style="width:658px" %)**Запрос**|(% style="width:579px" %)**Комментарий**
2 |(% style="width:257px" %)Read Committed Isolation Level|(% style="width:658px" %){{code language="none"}}BEGIN;
3
4 UPDATE accounts
5 SET balance = balance + @payment
6 WHERE acctnum = @account1
7
8 UPDATE accounts
9 SET balance = balance - @payment
10 WHERE acctnum = @account;
11
12 COMMIT;{{/code}}|(% style="width:579px" %)Относительное изменения значения (а не константное).
13 |(% style="width:257px" %)Read Committed Isolation Level|(% style="width:658px" %){{code language="none"}}BEGIN;
14
15 if (SELECT balance FROM accounts where acctnum = 7534) < @payment
16 RAISE EXCEPTION ''
17 END IF
18
19 UPDATE accounts
20 SET balance = balance + @payment
21 WHERE acctnum = @account1
22
23 UPDATE accounts
24 SET balance = balance - @payment
25 WHERE acctnum = @account;
26
27 COMMIT;{{/code}}|(% style="width:579px" %)Предварительная проверка условия перед изменением строк.