トリガとは?トリガ
トリガとは、表へのINSERT・UPDATE・DELETEを契機にDBMS側で自動実行される手続。起動時点をBEFORE/AFTER/INSTEAD OF、実行単位を行単位(FOR EACH ROW)か文単位かで指定でき、アプリ側のコードを変えずに整合性チェックや履歴記録をデータベースへ寄せられる。
最終更新:2026-10-06
データベースSPを最短で暗記・合格する →背景
同じ表を画面・バッチ・保守用スクリプトから触る現場では、同じ整合性チェックをどの経路にも書かねばならず、1本でも書き漏らすと壊れた行が入る。データ側に手続を置けば経路にかかわらず必ず走る、という発想で用意されたのがトリガである。DB試験では「宣言的な制約で書ける範囲」と「手続でしか書けない範囲」の線引きを問う道具として現れる。
具体例
PostgreSQLの受注管理で、受注明細が更新されるたびにAFTER UPDATEトリガが旧値と実行ユーザを受注明細履歴表へ書き込む。画面から更新しても夜間バッチから更新しても同じ記録が残るため、値が戻された経緯を経路を問わず追える。
試験での引っ掛け
トリガが更新した表に別のトリガが仕掛かると連鎖し、実行順序も再帰の深さもSQL文からは読み取れない。参照制約やCHECK制約で表せる範囲まで手続へ寄せると、実行計画にも設計書にも現れない副作用になる。連鎖は運用の癖ではなく設計時の判断対象。
関連用語
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。