triggers

Páginas: 2 (496 palabras) Publicado: 27 de agosto de 2014
TRIGGERS

Trigger


Procedimiento que se
ejecuta cuando se
cumple una condición
establecida al realizar
una operación.

Tipos


Dependiendo de la base de datos, los
triggers puedenser de:
Inserción (INSERT),
 Actualización (UPDATE)
 Borrado (DELETE).


Usos
Para mejorar la administración de
la Base de datos, sin necesidad
de contar con que el usuario
ejecute lasentencia de SQL.
 Pueden generar valores de
columnas.
 Previene errores de datos.
 Sincroniza tablas, modifica valores
de una vista, etc.


Componentes principales


La estructurabásica de un trigger es:

 Llamada

de activación.
 Restricción.
 Acción a ejecutar.

Tipos


Existen dos tipos:



Row Triggers (o Disparadores de fila): se
ejecutaran n-veces si sellama n-veces desde la
tabla asociada al trigger.



Statement Triggers (o Disparadores de
secuencia): sin importar la cantidad de veces
que se cumpla con la condición, su ejecución
esúnica.

Sintaxis
CREATE TRIGGER Nombre_del_Trigger
ON Nombre_de_la_tabla
FOR {INSERT,UPDATE,DELETE}
AS (Sentencias_SQL)

EJEMPLO
mysql> delimiter $$
mysql> create trigger comprueba before deleteon usuario
->for each row
->begin
->if(select count(*) from usuario,saca where
->usuario.codigo=saca.codigo_usuario)delete from usuario where
->usuario.codigosaca.codigo_usuario;
->end if;->end$$
Query OK, 0 rows affected (0.00 sec)
mysql> delimiter ;

OLD Y NEW


Los triggers tienen dos palabras clave,
OLD y NEW que se refieren a los valores
que tienen las columnas antes ydespués
de la modificación.
INSERT

NEW

DELETE

OLD

UPDATE

NEW Y OLD

¿Qué no permite MySql?


MySql no triggers múltiples.

¿Qué si permite?

Ejemplo:
mysql> create tableestudiantes(
-> estudiante int not null auto_increment,
-> nombre varchar(35) not null,
-> primary key(estudiante));
Query OK, 0 rows affected (0.13 sec)

mysql> create table bitacora(
->...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Triggers
  • TRIGGERS
  • Triggers
  • Triggers
  • Triggers
  • triggers
  • Triggers
  • Triggers en mysql

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS