Обработка ошибок

Транзакции и обработка ошибок в PostgreSQL

Jason Myers

Principal Engineer

Ошибки случаются

Ошибочное обновление Biscuits

UPDATE cookies SET quantity = 13 WHERE name = 'Biscuits';

Исправление: обновление Biscotti

UPDATE cookies SET quantity = 1 WHERE name = 'Biscuits';

UPDATE cookies SET quantity = 13 WHERE name = 'Biscotti';
Транзакции и обработка ошибок в PostgreSQL

Откат ошибок

BEGIN TRANSACTION

UPDATE cookies SET quantity = 13 WHERE name = 'Biscuits';
ROLLBACK;
SELECT quantity FROM cookies where name = 'Biscuits';
13
Транзакции и обработка ошибок в PostgreSQL

Откат нескольких операций

BEGIN TRANSACTION;

UPDATE cookies SET deliciousness = 111 where name = 'Cats Tongue';

UPDATE cookies SET deliciousness = 8 where name = 'Gingerbread';

ROLLBACK;
SELECT name, deliciousness FROM cookies where name in ('Cats Tongue', 'Gingerbread');
'Cats Tongue'  10
'Gingerbread'   9
Транзакции и обработка ошибок в PostgreSQL

Давайте потренируемся!

Транзакции и обработка ошибок в PostgreSQL

Preparing Video For Download...