21.26 INFORMATION_SCHEMA TRIGGERS Table
TRIGGERS
테이블은 트리거에 대한 정보를 제공합니다. 자신이 TRIGGER
권한을 보유하고있는 데이터베이스 및 테이블 정보 만 볼 수 있습니다.
INFORMATION_SCHEMA Name | SHOW Name | Remarks |
---|---|---|
TRIGGER_CATALOG | | def |
TRIGGER_SCHEMA | | |
TRIGGER_NAME | Trigger | |
EVENT_MANIPULATION | Event | |
EVENT_OBJECT_CATALOG | | def |
EVENT_OBJECT_SCHEMA | | |
EVENT_OBJECT_TABLE | Table | |
ACTION_ORDER | | 0 |
ACTION_CONDITION | | NULL |
ACTION_STATEMENT | Statement | |
ACTION_ORIENTATION | | ROW |
ACTION_TIMING | Timing | |
ACTION_REFERENCE_OLD_TABLE | | NULL |
ACTION_REFERENCE_NEW_TABLE | | NULL |
ACTION_REFERENCE_OLD_ROW | | OLD |
ACTION_REFERENCE_NEW_ROW | | NEW |
CREATED | Created | |
SQL_MODE | sql_mode | MySQL extension |
DEFINER | Definer | MySQL extension |
CHARACTER_SET_CLIENT | character_set_client | MySQL extension |
COLLATION_CONNECTION | collation_connection | MySQL extension |
DATABASE_COLLATION | Database Collation | MySQL extension |
참고 :
"
SHOW
이름 "컬럼의 이름은SHOW CREATE TRIGGER
대신SHOW TRIGGERS
명령문을 보여줍니다. 섹션 13.7.5.39 "SHOW TRIGGERS 구문" 을 참조하십시오.TRIGGER_SCHEMA
및TRIGGER_NAME
: 각 트리거가 실행되는 데이터베이스의 이름과 트리거 이름입니다.EVENT_MANIPULATION
: 트리거 이벤트입니다. 이것은 트리거가 활성화되면 연결된 테이블에 대한 작업 유형입니다. 값은'INSERT'
(행이 삽입 된 경우),'DELETE'
(행이 삭제 된 경우) 또는'UPDATE'
(행이 변경된 경우)입니다.EVENT_OBJECT_SCHEMA
및EVENT_OBJECT_TABLE
: 섹션 20.3 "트리거 사용" 에 언급 되었 듯이 모든 트리거는 정확히 하나의 테이블에 연결됩니다. 이 컬럼이 테이블이 존재하는 데이터베이스와 테이블 이름이 각각 표시됩니다.ACTION_ORDER
: 같은 테이블에 유사한 트리거 목록에서 트리거 액션의 순서 위치입니다. 현재이 값은 항상0
입니다. 이 같은 테이블에서 같은EVENT_MANIPULATION
및ACTION_TIMING
트리거를 여러 개 가질 수 없기 때문입니다.ACTION_STATEMENT
: 트리거 내용입니다. 즉, 트리거가 활성화 된 경우 실행되는 문입니다. 이 텍스트는 UTF-8 인코딩을 사용합니다.ACTION_ORIENTATION
: 항상'ROW'
의 값을 포함합니다.ACTION_TIMING
: 트리거가 활성화되는 것이 트리거 이벤트 전이나 후에 여부를 지정합니다. 값은'BEFORE'
또는'AFTER'
입니다.ACTION_REFERENCE_OLD_ROW
및ACTION_REFERENCE_NEW_ROW
: 각각 이전 컬럼 식별자와 새로운 컬럼 식별자입니다. 이것은ACTION_REFERENCE_OLD_ROW
가 항상'OLD'
의 값을 포함하고ACTION_REFERENCE_NEW_ROW
가 항상'NEW'
의 값을 포함하는 것을 의미합니다.SQL_MODE
: 트리거가 작성된 경우에 유효하고, 트리거를 실행할 때 SQL 모드입니다. 가능한 값은 섹션 5.1.7 "서버 SQL 모드" 를 참조하십시오.DEFINER
:'
형식으로 나타낸 트리거를 생성 한 사용자 계정입니다.user_name
'@'host_name
'CHARACTER_SET_CLIENT
: 트리거가 생성되었을 때의character_set_client
시스템 변수 세션 값입니다.COLLATION_CONNECTION
: 트리거가 생성되었을 때의collation_connection
시스템 변수 세션 값입니다.DATABASE_COLLATION
: 트리거가 연결된 데이터베이스의 데이터 정렬입니다.ACTION_CONDITION
,ACTION_REFERENCE_OLD_TABLE
,ACTION_REFERENCE_NEW_TABLE
및CREATED
열에는 현재NULL
이 항상 포함됩니다.
섹션 20.3 "트리거 사용" 에 정의 된 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: 0 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: NULL SQL_MODE: NO_ENGINE_SUBSTITUTION DEFINER: me@localhost CHARACTER_SET_CLIENT: utf8 COLLATION_CONNECTION: utf8_general_ci DATABASE_COLLATION: latin1_swedish_ci