トリガーについて

はじめに


こんにちは。東京アプリケーションシステム第三ソリューション部のJ.Mです。
今回は、トリガーにについて自分なりにまとめました。

トリガーとは


・特定のテーブルに挿入、修正、削除などのデータ変更イベントが発生する度にDBMSから自動的に実行プログラムです。
・イベントは全体トランザクション対象や各行ごと発生する場合全てを含めることができ、テーブルとView、データベースの作業を対象として正義できます。

トリガーの種類


・行トリガー:条件に当てはまる行についてトリガーを繰り返して何回も実行する方法
・文トリガー:トリガーが設定されたテーブルにトリガーイベントが行えば行について更新しても一回のみトリガーを行う方法。

トリガーの構成


・DECLARE
 宣言部
 →変数及び定数、タイプを宣言
補足)トリガー名を正義する部分
 ↓↓↓↓↓↓
・EVENT
 条件部
トリガーが実行するイベントを作成
補足)トリガーが始めるタイミング、イベントを正義する部分
 ↓↓↓↓↓↓
・BEGIN
開始
トリガ実行時、開始します。
 ↓↓↓↓↓↓
・CONTROL -> 制御単位で実行の流れを作成
 EX)条件文や繰返し文など

・SQL文->SELECT、INSERT、UPDATE、DELETEなど作成 → ※DMLを主に作成。DDL(CREATE、ALTER、DROP、TRUNCATE)も作成可能
補足)・基本的に順次敵に処理
   ・条件文や繰返し文によってロジックを実行
↓↓↓↓↓↓
・EXCEPTION
例外:トリガー実行中、例外エラー発生時、実行
↓↓↓↓↓↓
END
終了:トリガー終了

DECLARE


形)
CREATE TRIGGER トリガ名
CREATE OR REPLAVE TRIGGER トリガー名

・CREATE:DBMS内にトリガー、関数、プロシジャーを生成
・TRIGGER:トリガーを使うという意味

SQL


・SELECT、INSERT、UPDATE、DELETEを主に使用します。
・行トリガーの中にOLDやNEWを付き値を参照できます。

INSERT
OLD:NULL
NEW:挿入した後の値

UPDATE
OLD:更新前の値
NEW:更新後の値

DELETE
OLD:削除前の値
NEW:NULL

まとめ


以上、今回はトリガーについて作成してみました。
トリガーについて参考になれば幸いです。
ありがとうございました。