Loading...
MySQL 9.5 Reference Manual 9.5의 28.3.50 The INFORMATION_SCHEMA TRIGGERS Table의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
TRIGGERS table은 트리거에 대한 정보를 제공합니다. 어떤 table의 트리거 정보를 보려면, 그 table에 대한 TRIGGER 권한을 가지고 있어야 합니다.
TRIGGERS table에는 다음과 같은 column이 있습니다:
TRIGGER_CATALOG트리거가 속한 카탈로그의 이름입니다. 이 값은 항상 def입니다.
TRIGGER_SCHEMA트리거가 속한 스키마(데이터베이스)의 이름입니다.
TRIGGER_NAME트리거의 이름입니다.
EVENT_MANIPULATION트리거 이벤트입니다. 이는 트리거가 활성화되는, 관련 table에 대한 연산의 유형입니다. 값은
INSERT(row가 insert되었을 때),
DELETE(row가 delete되었을 때), 또는
UPDATE(row가 수정되었을 때)입니다.
EVENT_OBJECT_CATALOG,
EVENT_OBJECT_SCHEMA, 및
EVENT_OBJECT_TABLESection 27.4, “Using Triggers”에서 언급했듯이, 모든 트리거는 정확히 하나의 table에 연관됩니다. 이 column들은 각각 이 table이 존재하는 카탈로그와 스키마(데이터베이스), 그리고 table 이름을 나타냅니다.
EVENT_OBJECT_CATALOG 값은 항상
def입니다.
ACTION_ORDER같은 table 상에서 동일한
EVENT_MANIPULATION 및
ACTION_TIMING 값을 가진 트리거 목록 내에서, 해당 트리거 동작의 순서 위치입니다.
ACTION_CONDITION이 값은 항상 NULL입니다.
ACTION_STATEMENT트리거 body, 즉 트리거가 활성화될 때 실행되는 statement입니다. 이 텍스트는 UTF-8 인코딩을 사용합니다.
ACTION_ORIENTATION이 값은 항상 ROW입니다.
ACTION_TIMING트리거가 triggering event 이전 또는 이후에 활성화되는지를 나타냅니다. 값은 BEFORE 또는
AFTER입니다.
ACTION_REFERENCE_OLD_TABLE이 값은 항상 NULL입니다.
ACTION_REFERENCE_NEW_TABLE이 값은 항상 NULL입니다.
ACTION_REFERENCE_OLD_ROW 및
ACTION_REFERENCE_NEW_ROW각각 old와 new column 식별자입니다.
ACTION_REFERENCE_OLD_ROW 값은 항상
OLD이고,
ACTION_REFERENCE_NEW_ROW 값은 항상
NEW입니다.
CREATED트리거가 생성된 날짜와 시간입니다. 트리거의 경우 이는
TIMESTAMP(2) 값이며(1/100초 단위의 분수 부분을 가짐), 트리거에 대해 사용됩니다.
SQL_MODE트리거가 생성될 때 적용되었으며 트리거가 실행될 때도 적용되는 SQL 모드입니다. 허용되는 값에 대해서는 Section 7.1.11, “Server SQL Modes”를 참조하십시오.
DEFINERDEFINER 절에 지정된 계정입니다
(종종 트리거를 생성한 사용자). 형식은
'user_name'@'host_name'
입니다.
CHARACTER_SET_CLIENT트리거가 생성될 당시 세션의
character_set_client 시스템
변수 값입니다.
COLLATION_CONNECTION트리거가 생성될 당시 세션의
collation_connection 시스템
변수 값입니다.
DATABASE_COLLATION트리거가 연관된 데이터베이스의 collation입니다.
다음 예제는 Section 27.4, “Using Triggers”에서 정의된 ins_sum 트리거를 사용합니다:
1mysql> SELECT * FROM INFORMATION_SCHEMA.TRIGGERS 2 WHERE TRIGGER_SCHEMA='test' AND TRIGGER_NAME='ins_sum'\G 3*************************** 1. row *************************** 4 TRIGGER_CATALOG: def 5 TRIGGER_SCHEMA: test 6 TRIGGER_NAME: ins_sum 7 EVENT_MANIPULATION: INSERT 8 EVENT_OBJECT_CATALOG: def 9 EVENT_OBJECT_SCHEMA: test 10 EVENT_OBJECT_TABLE: account 11 ACTION_ORDER: 1 12 ACTION_CONDITION: NULL 13 ACTION_STATEMENT: SET @sum = @sum + NEW.amount 14 ACTION_ORIENTATION: ROW 15 ACTION_TIMING: BEFORE 16ACTION_REFERENCE_OLD_TABLE: NULL 17ACTION_REFERENCE_NEW_TABLE: NULL 18 ACTION_REFERENCE_OLD_ROW: OLD 19 ACTION_REFERENCE_NEW_ROW: NEW 20 CREATED: 2018-08-08 10:10:12.61 21 SQL_MODE: ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES, 22 NO_ZERO_IN_DATE,NO_ZERO_DATE, 23 ERROR_FOR_DIVISION_BY_ZERO, 24 NO_ENGINE_SUBSTITUTION 25 DEFINER: me@localhost 26 CHARACTER_SET_CLIENT: utf8mb4 27 COLLATION_CONNECTION: utf8mb4_0900_ai_ci 28 DATABASE_COLLATION: utf8mb4_0900_ai_ci
트리거 정보는 SHOW TRIGGERS statement를 통해서도 확인할 수 있습니다.
Section 15.7.7.41, “SHOW TRIGGERS Statement”를 참조하십시오.
28.3.49 The INFORMATION_SCHEMA TABLE_PRIVILEGES Table
28.3.51 The INFORMATION_SCHEMA USER_ATTRIBUTES Table