Транзакции
Используйте ту же базу и выполняйте каждый блок в одном сеансе клиента. В начале примеров сотрудник с идентификатором 1 носит имя Alice.
Откат изменения
Заголовок раздела «Откат изменения»BEGIN;UPDATE employees SET name = 'Temporary' WHERE id = 1;ROLLBACK;BEGIN открывает явную транзакцию. UPDATE меняет имя внутри этой транзакции,
а ROLLBACK отменяет изменение.
SELECT id, name FROM employees ORDER BY id;Имена остаются Alice, Boris и Clara. Тот же результат виден после закрытия клиента и повторного открытия файловой базы.
Фиксация изменения
Заголовок раздела «Фиксация изменения»BEGIN;UPDATE employees SET name = 'Alicia' WHERE id = 1;COMMIT;Выполните SELECT ещё раз. Имя сотрудника 1 теперь Alicia; Boris и Clara
не изменились. COMMIT завершает транзакцию и сохраняет её изменение
в соответствии с настроенным режимом надёжности.
Не разделяйте BEGIN и COMMIT между разными процессами CLI. Закрытие клиента не заменяет явную фиксацию. Эти примеры показывают транзакцию одного клиента, но не определяют поведение изоляции при конкурентной работе.
Завершение
Заголовок раздела «Завершение»После завершения транзакции введите exit. Учебную базу можно оставить
для следующих упражнений. Если она больше не нужна, сначала проверьте
значение tutorial_dir в исходной оболочке и удалите только временный каталог,
созданный для этого учебника. Не запускайте очистку против рабочей базы.
Следующий шаг — серверное подключение. Локальный CLI открывает файлы напрямую, поэтому для серверного режима нужен TCP-клиент. Установка сервера, параметры подключения и ограничения безопасности рассматриваются в частях руководства об администрировании и клиентских интерфейсах.