Entrar | Registrarme    
 
  Inicio
  Artículos
  Lista de correo
  Ligas
  Próximos eventos
  Enviar noticia
  Búsqueda
  Comentarios y sugerencias
  Acerca de

  Guía rápida de administración de...
De todo un poco en cuestiones de administración de un servidor MySQL, instalación, ejecución, usuarios, respaldos, creación de tablas, índices, optimización, etc.

  MySQL Connector/Net
El Connector/Net MySQL permite a los desarrolladores crear facilmente aplicaciones .NET que requieren seguridad, alto rendimiento de datos y conectividad con bases de datos MySQL.

  Almacenando contraseñas en MySQL
Consejos útiles para cuando se desean almacenar contraseñas en una base de datos.

Ninguno
  Los 10 artículos más leídos
  Las 10 noticias más leídas
  Las 10 ligas más visitadas
  Los 10 países con más usuarios

  jHeidi 3.6 alpha disponible
    Fecha publicación: 24 Nov del 2008
    2555 lecturas - 0 comentario(s)


  Disponible MySQL Workbench 5.1.4 Alpha - Linux
    Fecha publicación: 10 Nov del 2008
    2736 lecturas - 0 comentario(s)


  Principales sistemas operativos usados en producción para MySQL
    Fecha publicación: 06 Nov del 2008
    4180 lecturas - 1 comentario(s)


  Lenguaje de programación más usado con MySQL
    Fecha publicación: 06 Nov del 2008
    8150 lecturas - 0 comentario(s)


  IDEs principales para desarrollo con MySQL
    Fecha publicación: 03 Nov del 2008
    5661 lecturas - 0 comentario(s)


  Mysql hispano tiene el mejor contenido
    Fecha publicación: 27 Ago del 2008
    4557 lecturas - 2 comentario(s)


  El destino de los logs
    Fecha publicación: 11 Ago del 2008
    3514 lecturas - 0 comentario(s)


  MySQL 5.0.67 ha sido liberado
    Fecha publicación: 11 Ago del 2008
    6191 lecturas - 1 comentario(s)


  Connector/C++
    Fecha publicación: 01 Ago del 2008
    3769 lecturas - 1 comentario(s)


  HiveDB
    Fecha publicación: 05 Jun del 2008
    3670 lecturas - 0 comentario(s)





Inicio rápido con triggers en MySQL 5.0
A través de algunos ejemplos y situaciones se da una breve introducción al uso de Triggers en MySQL.
Autor: Mark Leith
Fecha publicación: 30 Enero del 2006
Enviado por: sayakan  Mensaje privado a sayakan
Lecturas: 109520
Última actualización: 28 Enero del 2006
4 comentario(s) Comments
   
123

Una de las principales caractergsticas que han sido incorporadas en la versión 5.0 de MySQL es algo llamado "Triggers". Los triggers son objetos relacionados a tablas que son ejecutados o mostrados cuando sucede algún evento en contra de sus tablas asociadas. Estos eventos son aquellas sentencias (INSERT, DELETE, UPDATE) que modifican los datos dentro de la tabla a la que está asociado el trigger y pueden ser disparados antes (BEFORE) y/o después (AFTER) de que la fila es modificada.

Los triggers son muy parecidos a los procedimientos almacenados, de tal forma que si deseamos ejecutar múltiples acciones cuando un trigger es disparado, podemos encapsular estas acciones dentro de una construcción BEGIN, END. Los triggers tienen un par de palabras clave extra - OLD y NEW - las cuales se refieren respectivamente a los valores de las columnas antes y después de que la sentencia fue procesada. Las sentencias INSERT únicamente permiten NEW, las sentencias UPDATE permiten ambos, NEW y OLD, y las sentencias DELETE permiten sólo OLD. La razón para esto debe ser obvia.

Después de dar esta explicación brever acerca de los triggers, la pregunta sería ¿Qué es lo que los triggers pueden hacer por mi?, ¿Para qué nos sirven?. Pues bien, a continuación vamos a mostrar algunos escenarios comunes en los cuales los triggers pueden ser de utilidad.

Una de las preguntas más frecuentes es ¿Cómo puedo saber quién cambió o eliminó una fila? ... Con un trabajo exhaustivo de auditoría sobre la base de datos, o gastando una buena cantidad de tiempo examinando los archivos de registro de MySQL para ver cuando se ejecutó dicha sentencia.

Podemos asignar un trigger a una tabla que se dispare después (AFTER) de una sentencia DELETE o UPDATE, que guarde los valores del registro, así como alguna otra información de utilidad en una tabla de log.

Vamos a examinar un caso práctico, procedemos a ejecutar las siguientes sentencias:

CREATE TABLE clientes(
id int not null auto_increment,
nombre varchar(100),
ejecutivo_cuenta varchar(10),
PRIMARY KEY(id),
KEY(nombre)
) ENGINE = InnoDB;

INSERT INTO clientes (nombre, ejecutivo_cuenta) VALUES
('Fredericks','Jaime'),
('Walmart','Mario'),
('Radioshack','Mario'),
('Acme','Juan'),
('Smallco','Jaime');

 
123