Inicio > MySql > Desencadenadores en MySQL (Triggers)

Desencadenadores en MySQL (Triggers)


  Para crear descencadenador4s es necesario seguir la siguiente sintaxis :

CREATE TRIGGER nombre momento evento
ON tabla
FOR EACH ROW instrucciones;

Donde :

nombre–> Nombre que recibe el desencadenador, aquel por el que nos referimos a él cuando lo utilizamos

momento –> Puede tomar 2 valores BEFORE (antes) , AFTER (después), se utiliza para determinar si las instrucciones asociadas al desencadenador se ejecutaran antes o después de la operación que la activo.

evento –> Indica el tipo de instrucción que activara el desencadenante. Se puede tratar de INSERT, UPDATE, DELETE.

tabla –> Nombre de la tabla con la cual está asociada el desencadenador.

instrucciones –> Utilice BEGIN Y END, como en los procedimientos almacenados, si desea que el desencadenador tenga asociado más de una orden.

EJEMPLO INSERCION:

DELIMITER //
CREATE TRIGGER dc_Clientes_Insertar
AFTER INSERT ON Clientes
FOR EACH ROW
BEGIN
    DECLARE NUEVO_CLIENTE VARCHAR(255);
    SET NUEVO_CLIENTE = CONCAT(LOWER(NEW.nombres) + ‘-‘ + LOWER(NEW.apellidos));
    INSERT INTO ClienteExt (id,nombre) VALUES (NEW.id,NUEVO_CLIENTE);
END
//
DELIMITER ;

EJEMPLO DE ACTUALIZACION :

DELIMITER //
CREATE TRIGGER dc_Clientes_Actualizar
AFTER UPDATE ON Clientes
FOR EACH ROW
BEGIN

    DECLARE NUEVO_CLIENTE VARCHAR(255);
    SET NUEVO_CLIENTE = CONCAT(LOWER(NEW.nombres) + ‘-‘ + LOWER(NEW.apellidos));
    UPDATE ClienteExt SET nombre= NUEVO_CLIENTE  WHERE id = NEW.id;
END
//
DELIMITER ;

EJEMPLO DE BORRADO:

DELIMITER //
CREATE TRIGGER dc_Clientes_Eliminar
AFTER DELETE ON Clientes
FOR EACH ROW
BEGIN
    DELETE FROM
ClienteExt WHERE id = OLD.id;
END
//
DELIMITER ;

Categorías:MySql
  1. Aún no hay comentarios.
  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: