Triggers en sql
Enviado por leonzzz • 9 de Diciembre de 2015 • Tutorial • 297 Palabras (2 Páginas) • 217 Visitas
create database tienda;
use tienda
create table pedidos(folio int primary key, fecha date,precio float,cantidad int,total float,fecha_entre date,estatus char(50));
//creo que no se usa jaja
create table producto(id_producto int primary key,nombre char(50),precio float);
create table bitacora(texto char(250));
--- 1.-
delimiter //
create trigger cancela before delete on pedidos for each row begin if old.estatus="Embarcado" then delete from pedidos where folio=old.folio; end if; end //
--- 2.-
delimiter //
create trigger descuento before insert on pedidos
for each row begin if new.fecha>="2015/03/04" and new.fecha<="2015/03/10"
then set new.total=new.precio*new.cantidad/2;
else set new.total=new.precio*new.cantidad;
end if; end //
3:
create trigger aceptado before insert on pedidos
for each row begin
if new. fecha_entre<="2015/03/31" then
set new.fecha_entre=new.fecha_entre;
else
set new.folio=0,new.folio=0,new.fecha=0,new.precio=0,new.cantidad=0,new.total=0,new.fecha_entre=0,new.estatus=0;
end if; end//
--- 4.-
create trigger total before insert on pedidos for each row set new.total=new.precio*new.cantidad;
--- 6:
en mysql
create user 'jethro'@'localhost' identified by '123';
create user 'sandra'@'localhost' identified by 'abc';
create user 'panfilo'@'localhost' identified by 'abc123';
privilegios
C:\Users\jethrox>cd ...
C:\Users\jethrox>cd..
C:\Users>cd..
C:\>cd appserv/mysql/bin
C:\AppServ\MySQL\bin>mysql -u jethro -h localhost -p
mysql
grant insert,select,delete,update on pedidos to 'jethro'@'localhost';
grant insert,update on pedidos to 'sandra'@'localhost';
grant insert,delete on pedidos to 'panfilo'@'localhost';
grant insert,select,delete,update on producto to 'jethro'@'localhost';
grant insert,update on producto to 'sandra'@'localhost';
grant insert,delete on producto to 'panfilo'@'localhost';
grant select on pedidos to 'jethro'@'localhost'
grant delete on pedidos to 'panfilo'@'localhost';
grant update on pedidos to 'panfilo'@'localhost';
5:
create trigger
...