You are on page 1of 3

¿Que son los Triggers y como usarlos en MySQL 5.0? http://www.webtaller.com/construccion/lenguajes/mysql/lecciones/que...

Está usted en Indice > Construcción > Lenguajes > MySQL > Lecciones y Paso a Paso > ¿Que son los Triggers y como
usarlos en MySQL 5.0? BUSCAR

Construcción ¿Que son los Triggers y como usarlos en MySQL 5.0? Publicidad
Indice
Lenguajes
Diseño
Contenido
Programas
Alojamiento Web
Gestión y Mantenimiento
FAQ's

Maletín
Indice
Artículos
Plantillas Web
Kits del Webmaster
Alta en 3000 buscadores
Recursos Gratis
Cursos de Webmaster
Ofertas de empleo

Utilidades
Indice
Crear Logos
Crear Ventana PopUp
Generador de Menús
Crear Metatags
Crear Banners
Verifica Links Rotos
Optimización Web
Crear Botones
Más...

Cursos
Indice
Curso de HTML
Curso de DreamWeaver MX
Curso de PHP
Curso de Java
Curso de CSS
Curso de JavaScript
Curso de Photoshop CS
Curso de Flash MX 2004

Promoción
Indice
Artículos
Todo sobre Google
Programas
Lista de Buscadores

Rentabilidad
Indice
F.A.Q.
Artículos
Programa Premium
Métodos de Rentabilidad

1 de 3 26/03/2011 13:28
¿Que son los Triggers y como usarlos en MySQL 5.0? http://www.webtaller.com/construccion/lenguajes/mysql/lecciones/que...

Zona Novatos Anuncios Google


Desde la salida de la versión 5 de
MySql se pueden usar triggers en
Indice
nuestras bases de datos.
Comenzando
Programas
Peró, ¿qué son los triggers?, son
Consejos
Más... PHP Code Generator objetos relacionados con tablas y
almacenados en la base dedatos
que se ejecutan o se muestran
Foros Rapid WEB application development cuando sucede algún evento
AJAX, forms, reports, grids, pdf... sobre sus tablas asociadas.
Foros

www.scriptcase.net Los eventos pueden ser las


Acceso a tu cuenta sentencias INSERT, DELETE,
UPDATE que modifican los datos
Regístrate de una tabla. Los triggeres se
Accede a tu cuenta pueden ejecutar antes (BEFORE)
y/o después (AFTER) de que sean
modificados los datos.

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

Un ejemplo de trigger seria uno asociado a la sentencia DELETE en una tabla de


clientes, para impedir que se elimine uno que tenga un saldo distinto de cero. Otro
trigger seria guardar los datos que se modifican de un cliente en otra base de datos
que serviria de auditoria.

Crearemos la tabla de clientes y le ponemos algunos registros:

CREATE TABLE clientes(


id int not null auto_increment,
nombre varchar(100),
seccion varchar(10),
PRIMARY KEY(id),
KEY(nombre)
) ENGINE = InnoDB;

INSERT INTO clientes (nombre, seccion) VALUES


('Miguel','informatica'),
('Rosa','comida'),
('Maria','ropa'),
('Albert','informatica'),
('Jordi','comida');

Y una tabla que será la que guardará los datos de la "auditoria"

CREATE TABLE auditoria_clientes


(
id int not null auto_increment,
nombre varchar(100),
anterior_seccion varchar(10),
usuario varchar(40),
modificado datetime,
primary key(id)
) ENGINE = InnoDB;

y finalmente un trigger que se disparará cada vez que alguien modifique un dato de
la tabla clientes y lo guardará en una tabla junto al nombre del usuario y la fecha.

CREATE TRIGGER trigger_auditoria_clientes AFTER UPDATE ON clientes


FOR EACH ROW
INSERT INTO auditoria_clientes(name, anterior_seccion, usuario, modificado )
VALUES (OLD.nombre, OLD.seccion, CURRENT_USER(), NOW() );

Autor: Xavier Bernadí i Millan


http://www.xlwebmasters.com/modules.php?d=doc&f=doc2&id=1143

Usuarios que han visto este tema también han visto...

- Trabajar con tablas temporales en MySQL


- Expresiones Regulares con MySQL
- Resolver Problemas de Autenticacion con MySQL
- Transacciones en MySQL
- Recuperar el Servidor MySQL

2 de 3 26/03/2011 13:28
¿Que son los Triggers y como usarlos en MySQL 5.0? http://www.webtaller.com/construccion/lenguajes/mysql/lecciones/que...

Página generada el 26-03-2011 a las 18:56:54

3 de 3 26/03/2011 13:28

You might also like