Está en la página 1de 2

CREAR UN TRIGGER

PUEDEN SER INSERT,UPDATE,DELETE(BEFORE Y AFTER PARA C/U)

TENGO LAS TABLAS 'REGIS_PRODUCTOS (CODIGOARTICULO,INSERTADO,NOMBREARTICULO,PRECIO)'


Y
'PRODUCTOS(CODIGOARTICULO,NOMBREARTICULO,PRECIO,PAISORIGEN)'

INSERT AFTER

//CREAMOS LA TABLA REGIS_PRODUCTOS(CON LA COLUMNAS CORRESPONDIENTE)

// SE CREA ..._AI POR CONVENCION DEBIDO A QUE SIRVE COMO


REFERENCIA AI==>AFTER INSERT
//FORE EACH ROW(PARA CADA FILA DE REGISTRO) O FOR EACH STATEMENT (PARA UN GRUPO DE
FILAS
QUE VAYAS A COLOCARLO)
//NEW. HACE REFRENCIA AL NUEVO PRODUCTO INSERTADO Y NOW() NOS PONDRA LA FECHA EN
QUE
SE HA INSERADO
//POR CADA PRODUCTO NUEVO DE LA TABLA PRODUCTOS SE REGISTRARA EN LA TABLA
REGIS_PRODUCTOS
CON LAS COLUMNAS CORRESPONDIENTES QUE HAS CREADO (FUNCION DEL TRIGGER)

**CREATE TRIGGER PRODUCTOS_AI AFTER INSERT ON PRODUCTOS FOR EACH ROW


INSERT INTO REGIS_PRODUCTOS(CODIGOARTICULO,NOMBREARTICULO,PRECIO,INSERTADO)
VALUES(NEW.CODIGOARTICULO, NEW.NOMBREARTICULO, NEW.PRECIO, NOW())**

UPDATE BEFORE

//AL MODIFICAR UNA COLUMNA POR EJEM PRECIO (ANTERIOR FUE 30 AHORA LO MODIFICAMOS A
45)
TENEMOS QUE CREAR UNA TABLA DE RESPALDO PARA QUE NOS MUESTRE (EL VALOR RECIENTE
DEL PREICO
Y EL VALORD DEL PRECIO ANTERIOR(BEFORE) Y TAMBIEN COMO AGREGAR LA FECHA DE
MODIFICACION
Y EL USUARIO QUIEN LO MODIFICO)
//ES RECOMENDABLE CREAR UNA TABLA DE RESPALDO QUE TENGA LAS MISMAS COLUMNA AL QUE
ESTAS REFIRIENDO
PORQUE NO SABEMOS A CIENCIA CIERTA CUAL REGISTRO SE HA CAMBIADO
//CREAMOS LA TABLA DE RESPALDO 'PRODUCTOS ACTUALIZADOS' CON LA CARACTERISTICA
SIGUIENTE:

**CREATE TABLE PRODUCTO_ACTUALIZADOS(ANTERIOR_CODIGO ARTICULO


VARCHAR(4),ANTERIOR_NOMBREARTICULO VARCHAR(25),
......(ASI CON LAS DEMAS COLUMNAS CON EL PREFIJO (ANTERIOR_) PARA
GUIARNOS)...,NUEVO_CODIGOARTICULO VARCHAR(4),
.......(IGUAL CON LAS DEMAS COLUMNAS AHORA CON EL PREFIJO (NUEVO_).....,USUARIO
VARCHAR(15),F_MODIF DATE)**

//LA COLUMNA USUARIO (EL USUARIO QUE LO MODIFICO) Y F_MODIF(FECHA MODIFICADA)

//CREAMOS EL TRIGGER
**CREATE TRIGGER ACTUALIZA_PRODUCTOS_BU BEFORE UPDATE ON PRODUCTOS FOR EACH ROW
INSERT INTO
PRODUCTOS_ACTUALIZADOS(ANTERIOR_CODIGOARTICU..,........ANTERIOR_...,NUEVO_CODIGOART
ICULO,....
NUEVO_..,.....,USUARIO,F_MODIF)
VALUES(OLD.CODIDOARTICULO,.....,OLD....,.......,NEW.CODIGOARTICULO,...
...NEW...,....,CURRENT_USER,NOW())**

También podría gustarte