Actividad 2

MANEJO DE FECHAS
TRIGGERS AFTER
COMO ESTAN LAS TABLAS ANTES DEL TRIGGER

delimiter //

MariaDB [subconsultas]> create trigger valorventa after insert on articulo

-> for each row

-> begin

-> update detalle set valorventa = (select valorunitario + (valorunitario * 0.23) from articulo where articulo.codigo = detalle.codigo);

-> end

-> //

MariaDB [subconsultas]> delimiter ;     ///PUNTO Y COMA SEPARADO DEL DELIMITER

MariaDB [subconsultas]> show triggers;



  • Los triggers son procedimientos automaticos que se activan despues de una accion, esta accion puede ser un insert, delete o update se trabaja con dos identificadores que son after (despues de) before (antes de) 

  • El after altera las otras tablas, el before la misma tabla que se invoca
ASI QUEDA LUEGO DEL TRIGGER

MariaDB [subconsultas]> delimiter //

MariaDB [subconsultas]> create trigger actualizar_existenciap after insert on detalle

-> for each row

-> begin

-> update articulo set existencia = cantidad - (select sum(cantidad) from detalle where detalle.codigo = articulo.codigo);

-> end

-> //

MariaDB [subconsultas]> delimiter ;

MariaDB [subconsultas]> show triggers;

RESULTADO

TRIGGERS BEFORE

MariaDB [subconsultas]> create database pruebadetrigger;

Query OK, 1 row affected (0.001 sec)

MariaDB [subconsultas]> use pruebadetrigger;

Database changed

MariaDB [pruebadetrigger]> Create table productos(

-> codigo varchar(12) primary key,

-> nombre varchar(30),

-> porgana int(2),

-> Costo int,

-> Valorventa int,

-> cantidad int

-> );

CREAMOS TRIGGER
ELIMINAMOS Y VOLVEMOS A INSERTAR PORQUE DEBE CALCULAR ANTES DE INGRESAR
NO ACTUALIZA PORQUE NO HAY TRIGGER QUE ACTUALICE CADA QUE SE INSERTE
CREAMOS TRIGGER QUE SI ACTUALICE
CREAMOS COPIA DE SEGURIDAD

C:\xampp\mysql\bin>mysqldump -B -uroot -p --routines pruebadetrigger>c:/xampp/pruebradetrigger.sql

Enter password:

C:\xampp\mysql\bin>mysqldump -B -uroot -p --routines subconsultas>c:/xampp/subconsultas.sql

CONTINUACIÓN MANEJO DE TRIGGERS
¡Crea tu página web gratis! Esta página web fue creada con Webnode. Crea tu propia web gratis hoy mismo! Comenzar