問題一覧に戻る
中級高度な演算子
問題76: TRANSACTION - BEGIN, COMMIT, ROLLBACK

トランザクション制御を学習します。複数の操作を一つの単位として扱い、全て成功するか全て失敗するかを保証します。データの整合性を保つために重要な機能です。

-- トランザクション開始
;

-- 口座間で送金
UPDATE accounts
SET balance = balance - 100
WHERE account_id = 1;

UPDATE accounts
SET balance = balance + 100
WHERE account_id = 2;

-- 変更を確定
;

-- ロールバックの例
BEGIN;
DELETE FROM orders WHERE order_date < '2020-01-01';
-- 変更を取り消し
;