Está en la página 1de 8

qwertyuiopasdfghjklzxcvbnmqw

ertyuiopasdfghjklzxcvbnmqwert
yuiopasdfghjklzxcvbnmqwertyui
opasdfghjklzxcvbnmqwertyuiopa
ESTUDIO DE CASO CORTE 3
sdfghjklzxcvbnmqwertyuiopasdf
GESTION DE BASE DE DATOS

ghjklzxcvbnmqwertyuiopasdfghj
Juan Camilo Velasco Velandia

klzxcvbnmqwertyuiopasdfghjklz
xcvbnmqwertyuiopasdfghjklzxcv
bnmqwertyuiopasdfghjklzxcvbn
mqwertyuiopasdfghjklzxcvbnmq
wertyuiopasdfghjklzxcvbnmqwe
rtyuiopasdfghjklzxcvbnmqwerty
uiopasdfghjklzxcvbnmqwertyuio
pasdfghjklzxcvbnmqwertyuiopas
dfghjklzxcvbnmqwertyuiopasdfg
hjklzxcvbnmqwertyuiopasdfghjk
Contenido
GESTION 1..........................................................................................................................................2
GESTION 2..........................................................................................................................................3
GESTION 3..........................................................................................................................................4
GESTION 4..........................................................................................................................................5
GESTION 5..........................................................................................................................................6
CONSLUSIONES..................................................................................................................................7
GESTION 1
Crea un procedimiento que visualice todas las películas cuyo costo de reemplazo
sea superior a un valor que se pasará como parámetro de entrada. ¿Cuántas
películas tienen un costo de reemplazo superior a 20€?

DELIMITER $$

DROP PROCEDURE IF EXISTS costes$$

CREATE PROCEDURE GESTION1(IN coste INT)BEGIN

SELECT * FROM film WHERE replacement_cost > coste;

END$$

CALL GESTION1(20);
GESTION 2
Crea un procedimiento que visualice todas las películas cuyo costo de
reemplazo esté comprendido entre dos cantidades que se pasarán como
parámetros de entrada. ¿Cuántas películas tienen un costo de reemplazo
superior a 20€ y 21,99 €?

DELIMITER $$

DROP PROCEDURE IF EXISTS costes$$

CREATE PROCEDURE GESTION2(IN coste1 INT, IN coste2

DECIMAL(5,2))

BEGIN

SELECT * FROM film WHERE replacement_cost

BETWEEN coste1 AND coste2;

END$$

CALL GESTION2(20, 21.99);


GESTION 3
Crea un procedimiento que reciba como parámetros de entrada el continente y la
lengua y obtenga todos los países de ese continente que hablen esa lengua. ¿qué
países de Asia tienen como lengua entre otras el inglés? Nota, a pesar de que el
campo continente es de tipo enum, podemos pasar el continente como tipo
varchar porque es compatible.

DROP PROCEDURE IF EXISTS GESTION3$$

CREATE PROCEDURE GESTION3 (IN continente

VARCHAR(30),IN lengua VARCHAR(30))

BEGIN

SELECT name FROM country WHERE

continent=continente and code in (select countrycode from

countrylanguage where language=lengua);

END$$

CALL GESTION3('Asia','English');
GESTION 4
Crear un Procedimiento que cambie el mail de un cliente, tabla costumer, por
otro que se pasará como parámetro, el Procedimiento Almacenado recibirá dos
parámetros, el identificador del cliente y el nuevo mail. Ejecutar el PA

DELIMITER $$

DROP PROCEDURE IF EXISTS cambio_correo$$

CREATE PROCEDURE sakila.cambio_correo(nombre


VARCHAR(45), apellido VARCHAR(45), correo VARCHAR(50))

BEGIN

DECLARE identi SMALLINT;

SELECT customer_id INTO identi FROM customer

WHERE first_name=nombre AND last_name=apellido;

CALL sakila.cambio_mail(identi,correo);

END$$

CALL sakila.cambio_correo('MARY','SMITH','MS@outlook.es');

SELECT first_name,last_name,email FROM sakila.customer WHERE

first_name='MARY';

GESTION 5
Crea un procedimiento que visualice las películas cuya categoría (comedia y
drama se pasan como parámetro). Llama después a este procedimiento para
obtener todas las películas de la categoría drama y de la categoría comedia. ¿Qué
ventaja le encuentras a realizar esta consulta de esta forma a realizarla de forma
directa a través de sentencias SQL?
DELIMITER $$

CREATE PROCEDURE GESTION5 (in categoria varchar(25))

begin

select title, description from film where film_id in(select film_id from film_category
where

category_id = (select category_id from category where name=categoria));

END$$

CALL GESTION5 ('Horror');

CONSLUSIONES
-La ventaja de realizar las consultas de esta manera es que no es necesario
realizar una sentencia por cada “categoría”, sino que con estas consultas
podemos sacar varias categorías con una sola sentencia lo cual agiliza el proceso
de las consultas

-Estas sentencias nos permiten realizar consultas más específicas a un grupo en


específico lo cual no solo facilita la realización de alguna consulta requerida sino
que también agiliza lo anterior mencionado

También podría gustarte