SQLсервер в Linux -самостоятельное освоение пакета

       

Откат транзакции



Листинг 7.40. Откат транзакции

booktown=# и

BEGIN

booktown=# SELECT * FROM subjects WHERE id = 12;

id | subject | location

12 | Religion | (1 row)

booktown=# UPDATE subjects SET location = 'Sunset Dr'

booktown-# WHERE id = 12;

UPDATE 1

booktown=# SELECT * FROM subjects WHERE id = 12;

id | subject | location

12 | Religion | Sunset Dr

(1 row)

booktown=# ROLLBACK;

ROLLBACK

booktown=# SELECT * FROM subjects WHERE id = 12;

id | subject I location

12 ] Religion |

(1 row)

PostgreSQL предельно строго относится к ошибкам, возникающим при выполнении команд в транзакциях. Даже простейшие ошибки, вроде приведенной в листинге 7.41, переводят транзакцию в аварийное состояние. В этом состоянии запрещается выполнение любых команд, кроме команд завершения транзакции

(COMMIT или ROLLBACK).



Содержание раздела