文件首頁
MySQL 9.0 參考手冊
相關文件 下載本手冊
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
Man Pages (TGZ) - 258.2Kb
Man Pages (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 參考手冊  /  ...  /  INFORMATION_SCHEMA TRIGGERS 表格

28.3.44 INFORMATION_SCHEMA TRIGGERS 表格

TRIGGERS 表格提供觸發程序 (trigger) 的相關資訊。若要查看表格觸發程序的資訊,您必須擁有該表格的 TRIGGER 權限。

TRIGGERS 表格具有下列欄位:

  • TRIGGER_CATALOG

    觸發程序所屬的目錄名稱。此值永遠是 def

  • TRIGGER_SCHEMA

    觸發程序所屬的結構描述 (資料庫) 名稱。

  • TRIGGER_NAME

    觸發程序的名稱。

  • EVENT_MANIPULATION

    觸發程序事件。這是相關表格上觸發程序啟動的操作類型。此值為 INSERT (已插入列)、DELETE (已刪除列) 或 UPDATE (已修改列)。

  • EVENT_OBJECT_CATALOGEVENT_OBJECT_SCHEMAEVENT_OBJECT_TABLE

    第 27.4 節,「使用觸發程序」 中所述,每個觸發程序都與一個表格相關聯。這些欄位分別指出此表格發生的目錄和結構描述 (資料庫) 以及表格名稱。 EVENT_OBJECT_CATALOG 值永遠是 def

  • ACTION_ORDER

    在具有相同 EVENT_MANIPULATIONACTION_TIMING 值的相同表格上,觸發程序動作在觸發程序清單中的序數位置。

  • ACTION_CONDITION

    此值永遠是 NULL

  • ACTION_STATEMENT

    觸發程序主體;也就是說,觸發程序啟動時執行的語句。此文字使用 UTF-8 編碼。

  • ACTION_ORIENTATION

    此值永遠是 ROW

  • ACTION_TIMING

    觸發程序在觸發事件之前或之後啟動。此值為 BEFOREAFTER

  • ACTION_REFERENCE_OLD_TABLE

    此值永遠是 NULL

  • ACTION_REFERENCE_NEW_TABLE

    此值永遠是 NULL

  • ACTION_REFERENCE_OLD_ROWACTION_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 陳述式」