トリガに関する情報の取得

広告

作成したトリガの一覧を取得する方法です。SHOW TRIGGERS文を使います。書式は次の通りです。

SHOW TRIGGERS;
SHOW TRIGGERS db_name;

カレントデータベースに含まれるトリガ一覧を取得する場合は単に「SHOW TRIGGERS」と入力して下さい。指定のデータベースに含まれるトリガ一覧を取得する場合はデータベース名を指定して下さい。

またLIKE句を使って取得するトリガを絞り込むこともできます。

SHOW TRIGGERS LIKE 'pattern';
SHOW TRIGGERS db_name LIKE 'pattern';

この時、LIKE句のパターンにはトリガ名に対するパターンではなく、トリガの対象となっているテーブルにマッチさせるパターンを指定して下さい。

では実際に試してみます。

show triggers;

p2-1

現在2つのトリガがカレントデータベースには作成されています。各トリガの情報は次の通りです。

Trigger    トリガ名
Event      トリガの種類(INSERT, UPDATE, DELETE)
Table      対象テーブル
Statement  実行するSQL文
Timing     タイミング(BEFORE, AFTER)

このように作成済みのトリガに関する情報を取得することができます。

トリガの対象となっているテーブルをLIKE句を使って絞り込む場合は次のように記述します。

show triggers like 'user';

p2-2

今回は作成済みのトリガがいずれも同じテーブルを対象に作られているため、結果は先ほどと同じです。

MySQLの使い方の他の記事を見てみる

( Written by Tatsuo Ikura )

関連記事 (一部広告含む)