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.
