データベーストリガー 【database trigger】 DBトリガー

概要

データベーストリガー(database trigger)とは、データベース管理システム(DBMS)の機能の一つで、テーブルに何らかの操作が加えられた時にあらかじめ指定した処理を自動的に起動する機能。ストアドプロシージャの一種として提供される。単に「トリガー」と略されることも多い。

処理の内容と、起動する条件、実行するタイミングなどを指定して設定する。いくつかのデータベーステーブルの内容が連動していて、一か所にわれた変更を他に反映するといった処理を自動的にいたい場合などに利用される。

複数のアプリケーションで共通する処理などを適切にトリガー設定することにより、個別のアプリケーションをシンプルに記述できるといったメリットがある。ただし、多用しすぎると性能が低下したり、処理全体の見通しが悪くなり意図しない動作を引き起こしたりする危険もある。

SQL文による作成

データベース操作の標準的な言語であるSQLでは、「CREATE TRIGGER」文を用いてトリガーを作成することができる。起動条件は「BEFORE INSERT」「AFTER UPDATE」のように操作の種類と実行のタイミングを組み合わせて指定する。タイミングは操作の前に実行する「BEFORE」、後に実行する「AFTER」、操作の代わりに実行する「INSTEAD OF」などがある。

多くのDBMSではINSERT文UPDATE文DELETE文に対してトリガーを設定することができ、参照のみで何も変更しないSELECT文は指定できない。SQL Serverのように、DROP TABLE文やCREATE TABLE文、ALTER TABLE文などデータ定義言語DDL)に属する操作に対して設定できる場合もある。

指定の操作によって影響を受ける各行のそれぞれに対して処理をう「トリガー」(row trigger)と、INSERT文などの操作自体について一度だけ実行される「文トリガー」(statement trigger)がある。トリガーでは操作前のを「OLD」、操作後のを「NEW」というラベルで参照することができる。

(2024.9.6更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる