Cita de: 70N1 en 7 Mayo 2014, 13:57 PM
Pero me podrias explicar que hacen los triggers, e leido y no me keda claro. Podrias ponerme un ejemplo?
Los triggers son una sentencia de codigo que se dispara al generar cambio en una tabla, en el caso eliminar(DELETE), actualizar(UPDATE) o insertar(INSERT) registros en una tabla.
Pensa que tenes una aplicacion donde se registran nuevos usuarios y queres tener una tabla aparte para saber los ultimos que se registraron.. tu aplicacion al momento del registro de un nuevo usuario lo hace de la siguiente manera..
Código (sql) [Seleccionar]
INSERT INTO usuarios (nombre, email)
VALUES ('pepito', 'pepito@hotmail.com')
Entonces utilizas un trigger al momento en que inserta un nuevo usuario en la tabla..
Código (sql) [Seleccionar]
DELIMITER $$ --Determinamos el inicio de nuestro trigger
CREATE TRIGGER nuevo_usuario --Nuestro trigger se llamara nuevo_usuario
BEFORE INSERT ON usuarios --El trigger se dispara antes de que inserte un nuevo usuario
FOR EACH ROW --Por cada fila afectada
BEGIN
--Aqui creamos un nuevo registro en la tabla seguimiento_usuarios
--Existen claves como OLD y NEW, para usar el valor antiguo o
--su nuevo valor..
INSERT INTO seguimiento_usuarios (nombre_usuario, texto)
VALUES (NEW.nombre, 'Un nuevo usuario se registro.');
END$$ --Fin
Segun cada motor de base de datos difiere en su sintaxys pero el uso es el mismo.. por ultimo te recomiendo para seguir leyendo..
https://dev.mysql.com/doc/refman/5.0/es/using-triggers.html