Перейти к содержимому

COMMIT

COMMIT успешно завершает текущую транзакцию.

COMMIT [TRANSACTION]

COMMIT публикует подготовленные изменения строк, каталога и индексов одной границей видимости. TRANSACTION является необязательным служебным словом.

У команды нет параметров данных; она применяется только к активной транзакции текущего соединения.

Успех возвращает пустой командный результат и не оставляет активной транзакции.

Атомарная видимость сама по себе не задаёт долговечность хранения. Момент принудительной записи на носитель определяется режимом синхронизации.

COMMIT без активной транзакции завершается ошибкой. Ошибка фиксации может оставить транзакцию способной к откату; проверяйте состояние клиента и не считайте изменение автоматически опубликованным или исчезнувшим.

COMMIT не требует отдельного объектного права. Каждый подготовленный оператор уже прошёл обычную проверку доступа.

CREATE TABLE ref_commit (id INTEGER PRIMARY KEY, title TEXT);
BEGIN;
INSERT INTO ref_commit VALUES (1, 'published');
COMMIT;
SELECT id, title FROM ref_commit;

См. Транзакции и конкурентность, BEGIN и Хранение.