Anda di halaman 1dari 6

PROCEDIMIENTOS ALMACENADOS

Instituto Tecnolgico de la
CostaPRESENTA
Grande
Jorge Galeana Castaeda

MATERIA

PROGRAMACIN WEB AVANZADA

ASESOR

L.I. LEONARDO SANDOVAL QUIONES

ZIHUATANEJO GUERRERO, MXICO


DICIEMBRE, 2015

PROCEDIMIENTOS ALMACENADOS
1. INSERTAR EN LA TABLA DE ESTRENOS
DELIMITER //
CREATE PROCEDURE ins_estreno(
IN no_pelicula VARCHAR(3),
IN titulo VARCHAR(50),
IN clasificacion VARCHAR(3),
IN genero VARCHAR(30),
IN idioma VARCHAR(30),
IN anio INT(5),
IN fecha_f DATE,
IN no_sala VARCHAR(2),
IN horario1 SMALLINT(2),
IN horario2 SMALLINT(2),
IN horario3 SMALLINT(2))
BEGIN
INSERT INTO estrenos VALUES(no_pelicula, no_sala, CURDATE(), fecha_f);
INSERT INTO informacion VALUES(no_pelicula, titulo, anio, genero,
clasificacion, idioma);
INSERT INTO horario VALUES(no_pelicula, horario1, horario2, horario3);
END
//
mysql> CALL ins_estreno('P01', 'Notting', 'A', 'Comedia-Romantica', 'Espaol', 1999,
'2015/12/3', 'S1', '5', '7'
, '9');
Query OK, 1 row affected, 1 warning (0.47 sec)
mysql> CALL ins_estreno('P02', 'Notting', 'A', 'Comedia-Romantica', 'Espaol', 1999,
'2015/12/3', 'S1', '5', '7'
, '9');
Query OK, 1 row affected, 1 warning (0.66 sec)
mysql> select * from estrenos;
+-------------+---------+------------+------------+
| no_pelicula | no_sala | fecha_i | fecha_f |
+-------------+---------+------------+------------+
| P01
| S1
| 2015-12-04 | 2015-12-03 |
| P02
| S1
| 2015-12-04 | 2015-12-03 |
+-------------+---------+------------+------------+
2 rows in set (0.00 sec)

mysql> select * from informacion;


+-------------+---------+------+-------------------+---------------+--------+
| no_pelicula | titulo | anio | genero
| clasificacion | idioma |
+-------------+---------+------+-------------------+---------------+--------+
| P01
| Notting | 1999 | Comedia-Romantica | A
| Espa |
| P02
| Notting | 1999 | Comedia-Romantica | A
| Espa |
+-------------+---------+------+-------------------+---------------+--------+
2 rows in set (0.00 sec)
mysql> select * from horarios;
ERROR 1146 (42S02): Table 'zihua_cine.horarios' doesn't exist
mysql> select * from horario;
+-------------+----------+----------+----------+
| no_pelicula | horario1 | horario2 | horario3 |
+-------------+----------+----------+----------+
| P01
|
5|
7|
9|
| P02
|
5|
7|
9|
+-------------+----------+----------+----------+
2 rows in set (0.00 sec)
2. MODIFICAR EN LA TABLA DE ESTRENOS
DELIMITER //
CREATE PROCEDURE mod_estreno(
IN no_pelicula1 VARCHAR(3),
IN titulo VARCHAR(50),
IN clasificacion VARCHAR(3),
IN genero VARCHAR(30),
IN idioma VARCHAR(30),
IN anio INT(5),
IN fecha_f DATE,
IN no_sala VARCHAR(2),
IN horario1 SMALLINT(2),
IN horario2 SMALLINT(2),
IN horario3 SMALLINT(2))
BEGIN
UPDATE estrenos SET no_sala=no_sala, fecha_i=CURDATE(), fecha_f=fecha_f
WHERE no_pelicula=no_pelicula1;
UPDATE informacion SET titulo=titulo, anio=anio, genero=genero,
clasificacion=clasificacion, idioma=idioma
WHERE no_pelicula=no_pelicula1;
UPDATE horario SET horario1=horario1, horario2=horario2, horario3=horario3
WHERE no_pelicula=no_pelicula1;
END
//

CALL mod_estreno('P03', "notting hill", 'A', 'Romance', 'ingles', '1999', CURDATE(), 'S2',
NULL,NULL,9);
3. ELIMINAR EN LA TABLA DE ESTRENOS
DELIMITER //
CREATE PROCEDURE eli_estreno(IN no_p VARCHAR(3))
BEGIN
DELETE FROM estrenos WHERE no_pelicula = no_p;
DELETE FROM informacion WHERE no_pelicula = no_p;
DELETE FROM horario WHERE no_pelicula = no_p;
END
//
CALL eli_estreno('P02');
4. MOSTRAR ESTRENOS POR HORARIO
DELIMITER //
CREATE PROCEDURE mos_pel_horario(IN hora SMALLINT(2))
BEGIN
SELECT informacion.no_pelicula, titulo, genero, clasificacion, idioma
FROM informacion, horario
WHERE informacion.no_pelicula=horario.no_pelicula AND horario1=hora
OR horario2=hora OR horario3=hora;
END
//
CALL mos_pel_horario(5);
5. MOSTRAR ESTRENOS POR GENERO
DELIMITER //
CREATE PROCEDURE mos_pel_genero(IN genero1 VARCHAR(30))
BEGIN
SELECT no_pelicula, titulo, genero, clasificacion, idioma
FROM informacion
WHERE genero=genero1;
END
//
CALL mos_pel_genero('Comedia-Romantica');

6. INSERTAR EN LA TABLA DE VENTAS


DELIMITER //
CREATE PROCEDURE ins_venta(
IN no_venta INT(4),
IN no_pelicula VARCHAR(3),
IN no_sala VARCHAR(2),
IN no_asientos VARCHAR(3),
IN no_emp INT(3),
IN horario VARCHAR(5),
IN fecha DATE,
IN precio DECIMAL(5,2))
BEGIN
INSERT INTO ventas VALUES(no_venta, no_pelicula, no_sala,
no_asientos, no_emp, horario, fecha, precio);
END
//
CALL ins_venta(1, 'P01', 'S01', 'A01', '01', '9', CURDATE(), 100);
7. INSERTAR EN LA TABLA DE EMPLEADOS
DELIMITER //
CREATE PROCEDURE ins_emp(
IN no_emp INT(3),
IN tipo_emp VARCHAR(25),
IN direccion VARCHAR(25),
IN correo VARCHAR(25),
IN contrasenia VARCHAR(100))
BEGIN
INSERT INTO empleados VALUES(no_emp, tipo_emp, direccion, correo,
contrasenia);
END
//
CALL ins_emp(02, 'Cajero', 'La Puerta', 'jorge_extrem@hotmail.com', 'jorge');
8. ELIMINAR EN LA TABLA DE EMPLEADOS
DELIMITER //
CREATE PROCEDURE eli_emp(IN no_emp1 INT(3))
BEGIN
DELETE FROM empleados WHERE no_emp = no_emp1;
END
//
CALL eli_emp(1);

9. MODIFICAR EN LA TABLA DE EMPLEADOS


DELIMITER //
CREATE PROCEDURE mod_emp(
IN no_emp1 INT(3),
IN tipo_emp VARCHAR(25),
IN direccion VARCHAR(25),
IN correo VARCHAR(25),
IN contrasenia VARCHAR(100))
BEGIN
UPDATE empleados SET tipo_emp=tipo_emp, direccion=direccion,
correo=correo, contrasena=contrasenia
WHERE no_emp=no_emp1;
END
//
CALL mod_emp(02, 'Administrador', 'La Puerta', 'jorge_extrem@hotmail.com', 'jorge');
10. MOSTRAR TODOS LOS EMPLEADOS
DELIMITER //
CREATE PROCEDURE mos_emp()
BEGIN
SELECT * FROM empleados;
END
//
CALL mos_emp();
11. MOSTRAR EMPLEADO INDIVIDUALMENTE
DELIMITER //
CREATE PROCEDURE mos_emp_ind(IN no_emp1 INT(3))
BEGIN
SELECT * FROM empleados WHERE no_emp=no_emp1;
END
//
CALL mos_emp_ind(2);

Anda mungkin juga menyukai