TRIGGERS
表格提供觸發程序 (trigger) 的相關資訊。若要查看表格觸發程序的資訊,您必須擁有該表格的 TRIGGER
權限。
TRIGGERS
表格具有下列欄位:
TRIGGER_CATALOG
觸發程序所屬的目錄名稱。此值永遠是
def
。TRIGGER_SCHEMA
觸發程序所屬的結構描述 (資料庫) 名稱。
TRIGGER_NAME
觸發程序的名稱。
EVENT_MANIPULATION
觸發程序事件。這是相關表格上觸發程序啟動的操作類型。此值為
INSERT
(已插入列)、DELETE
(已刪除列) 或UPDATE
(已修改列)。EVENT_OBJECT_CATALOG
、EVENT_OBJECT_SCHEMA
和EVENT_OBJECT_TABLE
如 第 27.4 節,「使用觸發程序」 中所述,每個觸發程序都與一個表格相關聯。這些欄位分別指出此表格發生的目錄和結構描述 (資料庫) 以及表格名稱。
EVENT_OBJECT_CATALOG
值永遠是def
。ACTION_ORDER
在具有相同
EVENT_MANIPULATION
和ACTION_TIMING
值的相同表格上,觸發程序動作在觸發程序清單中的序數位置。ACTION_CONDITION
此值永遠是
NULL
。ACTION_STATEMENT
觸發程序主體;也就是說,觸發程序啟動時執行的語句。此文字使用 UTF-8 編碼。
ACTION_ORIENTATION
此值永遠是
ROW
。ACTION_TIMING
觸發程序在觸發事件之前或之後啟動。此值為
BEFORE
或AFTER
。ACTION_REFERENCE_OLD_TABLE
此值永遠是
NULL
。ACTION_REFERENCE_NEW_TABLE
此值永遠是
NULL
。ACTION_REFERENCE_OLD_ROW
和ACTION_REFERENCE_NEW_ROW
分別是舊欄位和新欄位識別碼。
ACTION_REFERENCE_OLD_ROW
值永遠是OLD
,而ACTION_REFERENCE_NEW_ROW
值永遠是NEW
。CREATED
觸發程序的建立日期和時間。這是觸發程序的
TIMESTAMP(2)
值 (具有百分之一秒的小數部分)。SQL_MODE
建立觸發程序時生效的 SQL 模式,以及觸發程序執行時的 SQL 模式。如需允許的值,請參閱 第 7.1.11 節,「伺服器 SQL 模式」。
DEFINER
在
DEFINER
子句中指定的帳戶(通常是建立觸發器的使用者),格式為'
。user_name
'@'host_name
'CHARACTER_SET_CLIENT
建立觸發器時的
character_set_client
系統變數的會期值。COLLATION_CONNECTION
建立觸發器時的
collation_connection
系統變數的會期值。DATABASE_COLLATION
與觸發器相關聯的資料庫的定序。
範例
以下範例使用 第 27.4 節,「使用觸發器」 中定義的 ins_sum
觸發器。
mysql> SELECT * FROM INFORMATION_SCHEMA.TRIGGERS
WHERE TRIGGER_SCHEMA='test' AND TRIGGER_NAME='ins_sum'\G
*************************** 1. row ***************************
TRIGGER_CATALOG: def
TRIGGER_SCHEMA: test
TRIGGER_NAME: ins_sum
EVENT_MANIPULATION: INSERT
EVENT_OBJECT_CATALOG: def
EVENT_OBJECT_SCHEMA: test
EVENT_OBJECT_TABLE: account
ACTION_ORDER: 1
ACTION_CONDITION: NULL
ACTION_STATEMENT: SET @sum = @sum + NEW.amount
ACTION_ORIENTATION: ROW
ACTION_TIMING: BEFORE
ACTION_REFERENCE_OLD_TABLE: NULL
ACTION_REFERENCE_NEW_TABLE: NULL
ACTION_REFERENCE_OLD_ROW: OLD
ACTION_REFERENCE_NEW_ROW: NEW
CREATED: 2018-08-08 10:10:12.61
SQL_MODE: ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,
NO_ZERO_IN_DATE,NO_ZERO_DATE,
ERROR_FOR_DIVISION_BY_ZERO,
NO_ENGINE_SUBSTITUTION
DEFINER: me@localhost
CHARACTER_SET_CLIENT: utf8mb4
COLLATION_CONNECTION: utf8mb4_0900_ai_ci
DATABASE_COLLATION: utf8mb4_0900_ai_ci
觸發器資訊也可以從 SHOW TRIGGERS
陳述式取得。請參閱 第 15.7.7.39 節,「SHOW TRIGGERS 陳述式」。