TRAIGGER Y PROCEDIMIENTOS.
Enviado por Sichibukai Kagueoshi • 25 de Septiembre de 2016 • Tarea • 597 Palabras (3 Páginas) • 225 Visitas
[pic 1][pic 2][pic 3]
INSTITUTO TECNOLOGICO DE CHILPANCINGO
CARRERA: INGENIERIA EN INFORMATICA
MATERIA: TALLER DE BASE DE DATOS
TEMA: UNIDAD 3
NOMBRE DEL ALUMNO: JOCSAN BENITEZ VALDEZ.
Chilpancingo guerrero a 07 de junio de 2015
Procedimientos y traiggers
Insertar empleados procedimiento
[pic 4]
Procedimiento del empleado que más vende
[pic 5][pic 6]
1.- INICIAMOS LA TRANSACCIÓN.
start transaction;
2.- INSERTAMOS UN NUEVO CLIENTE.
mysql> insert into clientes(id_cliente,rfc,nombre,apellido_paterno,apellido_mate
rno,telefono,calle,numero,colonia,codigo_postal,ciudad,pais,email,fecha_nto,fech
a_registro,tipo_persona,sexo) values(3,234,'tania','pinedo','ojeda',7456,'fuente
s',6,'laureles',39,'chilpancingo','mexico','tani@hotmail','1996/05/24','2015/06/
07','fisica','f');
Query OK, 1 row affected (0.00 sec)
savepoint insertar_cliente;
3.- INSERTAMOS UNA NUEVA VENTA.
mysql> insert into ventas(id_venta,fecha_hora_venta,total__pagar,iva_venta, tipo
_pago, id_empleado, id_cliente) values(4,2015/05/09,0,0,'contado',5,3);
Query OK, 1 row affected (0.00 sec)
4-INSERTAMOS 3 DETALLE DE VENTAS CON EL MISMO ID DE VENTA.
mysql> insert into detalle_venta(id_venta, id_producto, cantidad_vendida) values
(8, 1, 3);
mysql> insert into detalle_venta(id_venta, id_producto, cantidad_vendida) values
(8, 3, 2);
mysql> insert into detalle_venta(id_venta, id_producto, cantidad_vendida) values
(8, 2, 5);
mysql> select sum(cantidad_vendida * precio_venta) from detalle_venta d join pro
ductos p on d.id_producto = p.id_producto where id_venta = 8;
+--------------------------------------+
| sum(cantidad_vendida * precio_venta) |
+--------------------------------------+
| 150 |
Procedimiento que devuelve el monto de lo que ha comprado un cliente en un periodo determinado.[pic 7]
Triggers:
Traigger cantidad menor a cero
SQL> create or replace trigger cantidad_menorcero
2 before update or insert of
3 cantidad_vendida on detalle_ventas
4 for each row
5 begin
6 IF:new.cantidad_vendida<=0 then
7 RAISE_APPLICATION_ERROR(-20130,'mensajedeerror');
...