トリガとは?とりが
トリガとは、表に対するINSERT・UPDATE・DELETEを契機として、DBMSが自動的に起動するよう登録しておく処理。アプリケーション側の実装漏れに左右されず整合性維持や履歴記録を強制できることが採用理由で、明示的に呼び出さなければ動かないストアドプロシージャとはそこが分かれ目になる。
最終更新:2026-10-06
この語が出る過去問を解く →背景
同じ表を複数のアプリケーションや手作業のバッチが更新する環境では、更新のたびに必要な後処理を各アプリに書いて回るしかなく、一つ書き漏らすと履歴が欠けたり関連表がずれたりした。処理をデータ側に置けば、どの経路から更新が来ても必ず走る。制約や参照動作では表せない業務ルールを、データベース側で守らせるための仕組みである。
具体例
PostgreSQLやOracleでは、在庫表のUPDATE後に起動するAFTERトリガを定義し、変更前後の値を在庫変更履歴表へ書き込む形で監査証跡を残す。アプリ側に記録処理を持たせないため、保守や別システムからの更新でも履歴が途切れない。
試験での引っ掛け
ストアドプロシージャとの違いが定番で、呼ばれて動くのがプロシージャ、操作を契機に勝手に動くのがトリガである。起動契機はデータ操作に限られ、SELECT(参照)では起動しない点も問われる。なお、タスクスケジューリングの文脈で使われる「起動のきっかけ」を指すトリガとは別の概念なので、出題分野で読み分ける。
関連用語
出た過去問
出典:令和5年度 春期 応用情報技術者試験 午前 問27(IPA)解説で登場
クライアントサーバシステムにおけるストアドプロシージャの記述として、誤っているものはどれか。
正解:データの変更を行うときに、あらかじめDBMSに定義しておいた処理を自動的に起動・実行するものである。
要点:自動起動はトリガ、明示的な呼出しがストアドプロシージャ
設問は誤っている記述を選ぶもので、データの変更を契機にあらかじめ定義した処理を自動的に起動する仕組みはトリガであり、ストアドプロシージャの説明ではない。ストアドプロシージャは一連の処理をDBMS側にまとめて登録しておき、クライアントからの明示的な呼出しで実行するものである。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。