La tabla TRIGGERS
proporciona información
acerca de disparadores.
Esta tabla se implementó inicialmente en MySQL 5.0.10.
Debe tener el permiso SUPER
para ver esta
tabla.
Standard Name | SHOW name |
Remarks |
TRIGGER_CATALOG |
NULL |
|
TRIGGER_SCHEMA |
||
TRIGGER_NAME |
Trigger |
|
EVENT_MANIPULATION |
Event |
|
EVENT_OBJECT_CATALOG |
NULL |
|
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 |
NULL (0 ) |
Notas:
Las columnas TRIGGER_SCHEMA
y
TRIGGER_NAME
contienen el nombre de la
base de datos en que se produce el dispardor, y el nombre
del disparador, respectivamente.
La columna EVENT_MANIPULATION
contiene
uno de los valores 'INSERT'
,
'DELETE'
, o
'UPDATE'
.
Como se explica en Capítulo 20, Disparadores (triggers), cada
disparador se asocia exactamente con una tabla. Las
columnas EVENT_OBJECT_SCHEMA
y
EVENT_OBJECT_TABLE
contienen la base de
datos en que ocurre esta tabla, y el nombre de la tabla.
El comando ACTION_ORDER
contiene la
posición ordinal de la acción del disparador en la lista
de todos los disparadores similares en la misma tabla.
Actualmente, este valor siempre es 0
,
porque no es posible tener más de un disparador con el
mismo EVENT_MANIPULATION
y
ACTION_TIMING
en la misma tabla.
La columna ACTION_STATEMENT
contiene el
comando a ejecutarse cuando el disparador se invoca. Esto
es lo mismo que el texto mostrado en la columna
Statement
de la salida de SHOW
TRIGGERS
. Tenga en cuenta que este texto usa
codificación UTF-8 .
La columna ACTION_ORIENTATION
siempre
contiene el valor 'ROW'
.
La columna ACTION_TIMING
contiene uno
de los dos valores 'BEFORE'
o
'AFTER'
.
Las columnas ACTION_REFERENCE_OLD_ROW
y
ACTION_REFERENCE_NEW_ROW
contienen el
antiguo y nuevo identificador de columna, respectivamente.
Esto significa que
ACTION_REFERENCE_OLD_ROW
siempre
contiene el valor 'OLD'
y
ACTION_REFERENCE_NEW_ROW
siempre
contiene el valor 'NEW'
.
Las siguientes columnas actualmente siempre contiene
NULL
:
TRIGGER_CATALOG
,
EVENT_OBJECT_CATALOG
,
ACTION_CONDITION
,
ACTION_REFERENCE_OLD_TABLE
,
ACTION_REFERENCE_NEW_TABLE
, y
CREATED
.
Ejemplo, usando el disparador ins_sum
definido en Sección 20.3, “Utilización de disparadores”:
mysql> SELECT * FROM INFORMATION_SCHEMA.TRIGGERS\G *************************** 1. row *************************** TRIGGER_CATALOG: NULL TRIGGER_SCHEMA: test TRIGGER_NAME: ins_sum EVENT_MANIPULATION: INSERT EVENT_OBJECT_CATALOG: NULL 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 1 row in set (1.54 sec)
Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL está escrito en inglés, y esta traducción no necesariamente está tan actualizada como la versión original. Para cualquier sugerencia sobre la traducción y para señalar errores de cualquier tipo, no dude en dirigirse a mysql-es@vespito.com.