問題一覧に戻る
中級高度な演算子
問題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';
-- 変更を取り消し
;