0% encontró este documento útil (0 votos)
186 vistas4 páginas

Funciones Almacenadas

Este documento describe cuatro funciones almacenadas desarrolladas por Fernando Lliguipuma para la asignatura Base de Datos II de la Universidad Técnica "Luis Vargas Torres" de Esmeraldas. Las funciones permiten mostrar si un libro tiene más de 3 ejemplares, indicar cuál de dos libros tiene más ejemplares, calcular el total de ejemplares de un área, y mostrar los ejemplares que faltan para completar 10 de un libro.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
186 vistas4 páginas

Funciones Almacenadas

Este documento describe cuatro funciones almacenadas desarrolladas por Fernando Lliguipuma para la asignatura Base de Datos II de la Universidad Técnica "Luis Vargas Torres" de Esmeraldas. Las funciones permiten mostrar si un libro tiene más de 3 ejemplares, indicar cuál de dos libros tiene más ejemplares, calcular el total de ejemplares de un área, y mostrar los ejemplares que faltan para completar 10 de un libro.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 4

UNIVERSIDAD TECNICA “LUIS VARGAS TORRES” DE ESMERALDAS

SEDE – SANTO DOMINGO DE LOS TSÁCHILAS

FACULTAD DE INGENIERIAS

ASIGNATURA:
BASE DE DATOS II

TÍTULO DEL TRABAJO:


FUNCIONES ALMACENADAS

AUTOR:
FERNANDO LLIGUIPUMA

DOCENTE DE LA ASIGNATURA:
ING. LUIS NUÑES FREIRE, MGS

SANTO DOMINGO
2020
Actividad: Desarrollar los procedimientos almacenados para los siguientes enunciados:
a. Mediante una función muestre un mensaje que indique si un determinado libro
tiene una cantidad de ejemplares mayor a 3.

delimiter $$
CREATE FUNCTION fn_ejemplar_mayor_a_3(nombre VARCHAR(50))
RETURNS VARCHAR(25)
BEGIN
DECLARE men VARCHAR(50);
DECLARE cuenta INT;
set cuenta = (SELECT ejemplares_libro
FROM libros
WHERE titulo_libro LIKE nombre);
if cuenta > 3 then
set men = "El ejemplar si es mayor a 3";
else
set men = "El ejemplar no es mayor a 3";
END if;
RETURN men;
END$$

SELECT fn_ejemplar_mayor_a_3("AUTOCAD 3D. IFCT021PO")AS resultado

Argumento: se hace el ingreso de un parámetro para conocer y que el usuario digite el


nombre del libro a buscar y comprobar y tiene o no ejemplares mayores a 3, primero
declaramos una variable cuenta y una variable men que son las que nos servirán para
las condiciones. Creamos una condición if con el cual comparamos con la variable
cuenta que es la que obtiene la cantidad de ejemplares de dicho libro, si se cumple la
condición del if que es mayor a 3 pues mostrara un resultado de si el ejemplar es mayor
y en caso contrario mostrara un mensaje de no tiene es mayor a 3

b. Ingresar el código de dos libros e indicar cuál tiene más ejemplares.

delimiter $$
create function fn_comparacion(cod1 int, cod2 int)
returns varchar(15)
BEGIN
DECLARE mensaje varchar(15);
DECLARE v1 int;
DECLARE v2 int;
SET v1 = (select ejemplares_libro from libros where codigo_libro like
cod1);
SET v2 = (select ejemplares_libro from libros where codigo_libro like
cod2);
if v1 > v2 then
set mensaje = cod1;
else
set mensaje = cod2;
END if;
RETURN mensaje;
END $$
select fn_comparacion(3,5)as mayor_ejemplar

Argumento: dado que se debe comparar dos libros mediante el código del mismo,
hacemos que el usuario ingrese estos códigos mediante 2 parámetros de entradas.
Luego se compara el número de ejemplares mediante las variables v1 y v2 que son las
que tienen el código del libro que el usuario ingreso, y finalmente mostrara el código
del que tiene más ejemplares.

c. Realizar una función que permita calcular el total de ejemplares existente dada el
área.

delimiter $$
create function fn_total_ejemplares(area varchar(25))
returns int
BEGIN
DECLARE cantidad INT;
set cantidad = (SELECT SUM(ejemplares_libro)
FROM libros
WHERE area_libro LIKE area);
RETURN cantidad;
END $$

Select fn_total_ejemplares("ARQUITECTURA")as total_de_ejemplares

Argumento: para calcular el total de ejemplares dada un área en específico por el


usuario, hacemos que lo ingrese mediante un parámetro de entrada el cual se llama área,
declaramos una variable cantidad que será la que almacenara el número de ejemplares
existentes de acuerdo al área.

d. Ingresar el código de un libro visualizar el número de ejemplares que le hace


falta para completar 10.
delimiter $$
CREATE FUNCTION fn_ejemplares_falta_para10(cod INT )
RETURNS INT
BEGIN
DECLARE cantidad INT ;
DECLARE cuenta INT;
set cuenta = (SELECT ejemplares_libro
FROM libros
WHERE codigo_libro LIKE cod); if cuenta < 10 then
set cantidad = 10-cuenta;
END if;
RETURN cant;
END$$
SELECT fn_ejemplares_falta_para10(3) as faltan

Argumento: mediante la declaración de un parámetro de entrada, hacemos que el


usuario ingrese el código del libro. Posteriormente declaramos una variable llamada
cuenta que será la encargada de contar cuantos ejemplares tiene dicho libro, luego otra
variable llamada cantidad establecida en 10 ya que este es el numero establecido con
el que se le resta menos la variable cuenta para conocer cuántos ejemplares le hacen
falta para llegar a 10.

También podría gustarte