Disparadores

Páginas: 8 (1839 palabras) Publicado: 4 de septiembre de 2010
DISPARADOR
¿Qué es?
Un disparador "comúnmente llamados triggers" es un conjunto especial de código de procedimiento almacenado asociado de manera directa a una tabla cuya activación es causada por modificaciones en el contenido de la base de datos; es decir, es invocado en forma automática después de ejecutar cualquiera de las instrucciones Insert, Update o Delete en una tabla.
Un disparadores un objeto de base de datos con nombre que se asocia a una tabla, y se activa cuando ocurre un evento en particular para la tabla.

Uso de disparadores
* Son mecanismos útiles para alertar a los usuarios o para iniciar de manera automática ciertas tareas cuando se cumplen determinadas condiciones.
* Algunos usos para los disparadores es verificar valores a ser insertados o llevar acabo cálculos sobre valores involucrados en una actualización.

Clausulas del uso de disparadores
La palabra clave BEFORE indica el momento de acción del disparador. En este caso, el disparador debería activarse antes de que cada registro se inserte en la tabla. La otra palabra clave posible aquí es AFTER.
La palabra clave INSERT indica el evento que activará al disparador. También puedencrearse disparadores para sentencias DELETE y UPDATE.
La sentencia FOR EACH ROW, define lo que se ejecutará cada vez que el disparador se active, lo cual ocurre una vez por cada fila afectada por la sentencia activadora. La sentencia activada es un sencillo SET que acumula los valores insertados en la columna amount.
La sentencia se refiere a la columna como NEW.amount, lo que significa “el valorde la columna amount que será insertado en el nuevo registro.”
Debido a que un disparador está asociado con una tabla en particular, no se pueden tener múltiples disparadores con el mismo nombre dentro de una tabla. También se debería tener en cuenta que el espacio de nombres de los disparadores puede cambiar en el futuro de un nivel de tabla a un nivel de base de datos, es decir, los nombres dedisparadores ya no sólo deberían ser únicos para cada tabla sino para toda la base de datos. Para una mejor compatibilidad con desarrollos futuros, se debe intentar emplear nombres de disparadores que no se repitan dentro de la base de datos.
Adicionalmente al requisito de nombres únicos de disparador en cada tabla, hay otras limitaciones en los tipos de disparadores que pueden crearse. Enparticular, no se pueden tener dos disparadores para una misma tabla que sean activados en el mismo momento y por el mismo evento. Por ejemplo, no se pueden definir dos BEFORE INSERT o dos AFTER UPDATE en una misma tabla. Es improbable que esta sea una gran limitación, porque es posible definir un disparador que ejecute múltiples sentencias empleando el constructor de sentencias

DISPARADORES ENMYSQL
Los sistemas de base de datos basados en SQL emplean mucho los disparadores, aunque antes de SQL: 1999 no eran parte de la norma SQL. Por desgracia cada sistema de base de datos implementó su propia sintaxis para los disparadores, lo que produjo incompatibilidades.
* Para crear o eliminar un disparador, se emplean las sentencias CREATE TRIGGER y DROP TRIGGER.
Este es un ejemplosencillo que asocia un disparador con una tabla para cuando reciba sentencias INSERT. Actúa como un acumulador que suma los valores insertados en una de las columnas de la tabla.
mysql> CREATE TABLE account (acct_num INT, amount DECIMAL(10,2));
mysql> CREATE TRIGGER ins_sum BEFORE INSERT ON account
- > FOR EACH ROW SET @sum = @sum + NEW.amount;

La sentencia CREATE TRIGGER crea undisparador llamado ins_sum que se asocia con la tabla account. También se incluyen cláusulas que especifican el momento de activación, el evento activador, y qué hacer luego de la activación:
La palabra clave BEFORE indica el momento de acción del disparador. En este caso, el disparador debería activarse antes de que cada registro se inserte en la tabla. La otra palabra clave posible aqui es...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Disparos
  • disparo
  • Disparadores
  • disparadores
  • Diagrama de disparo
  • Disparo Mosfets
  • Disparidades Regionales
  • Disparidades Regionales

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS