Примеры.
Версия 1.3 от Alexandr Fokin на 2023/01/08 19:09
Необходимый уровень изоляции | Запрос | Комментарий |
Read Committed | BEGIN; UPDATE accounts SET balance = balance + @payment WHERE acctnum = @account1 UPDATE accounts SET balance = balance - @payment WHERE acctnum = @account; COMMIT; | Относительное изменения значения (а не константное). |
Read Committed | BEGIN; if (SELECT balance FROM accounts where acctnum = 7534) < @payment RAISE EXCEPTION '' END IF UPDATE accounts SET balance = balance + @payment WHERE acctnum = @account1 UPDATE accounts SET balance = balance - @payment WHERE acctnum = @account; COMMIT; | Предварительная проверка условия перед изменением строк. |