Está en la página 1de 4

Universidad Real Mayor Pontificia San Francisco

Xavier De Chuquisaca

NOMBRE : SAMUEL ROJAS CHAVEZ

MATERIA : Base De Datos 2

N° PRACTICA : 8

ING : Rodolfo Villafan

SUCRE-BOLIVIA
T A R E A [ TP - 08]

11. FUNCION QUE DEVUELVA EL PRECIO MAS BAJO DE TODAS LAS HERRAMIENTAS
CUYO SALDO ES IGUAL A UNA CANTIDAD INTRODUCIDA EN UN ARGUMENTO.

12. FUNCION QUE DEVUELVA LA DIFERENCIA ENTRE EL NUMERO DE LA ULTIMA


ENTREGA REALIZADA Y EL NUMERO DE LA PRIMERA ENTREGA REALIZADA EN UNA
AÑO QUE SE INTRODUCE COMO ARGUMENTO.

13. FUNCION QUE DETERMINE EL NUMERO DE ENTREGAS REALIZADAS DURANTE UN


MES DE UN AÑO QUE SE INTRODUCEN COMO ARGUMENTOS

14. FUNCION QUE DETERMINE Y DEVUELVA LA CANTIDAD MAXIMA DE


HERRAMIENTAS ENTREGADAS, CUYA DESCRIPCION COMIENZA CON UNA DE LAS DOS
LETRAS QUE VAN COMO ARGUMENTOS

CODIFICACION

-- 11 –
DELIMITER //
CREATE FUNCTION EJERCICIO11(CANT INT) RETURNS FLOAT
READS SQL DATA DETERMINISTIC
BEGIN
DECLARE PMIN FLOAT;
SELECT MIN(H.PRECIO) INTO PMIN FROM HERRAMIENTA H
INNER JOIN ALMACEN A ON H.CODIGO = H.CODIGO
WHERE A.CSALDO = CANT;
RETURN PMIN;
END //
DELIMITER ;

SELECT EJERCICIO11(20) AS 'PRECIO MAS BAJO';


SELECT * FROM ALMACEN;

-- 12 --
DELIMITER //
CREATE FUNCTION EJERCICIO12(AN INT) RETURNS INT
READS SQL DATA DETERMINISTIC
BEGIN
DECLARE DIF INT;
SELECT MAX(NE) - MIN(NE) INTO DIF FROM ENTREGA
WHERE YEAR(FECHA) = AN;
RETURN DIF;
END//
DELIMITER ;

SELECT EJERCICIO12(2023) AS 'DIFERENCIA ENTREGA';

SELECT * FROM ENTREGA;

-- 13 –

DELIMITER //
CREATE FUNCTION EJERCICIO13( AN INT , MES INT) RETURNS INT
READS SQL DATA DETERMINISTIC
BEGIN
DECLARE NUE INT;
SELECT COUNT(NE) INTO NUE FROM ENTREGA
WHERE YEAR(FECHA) = AN AND MONTH(FECHA) = MES;

RETURN NUE;
END//
DELIMITER ;

SELECT EJERCICIO13(2023, 5) AS 'CANTIDAD ENTREGAS';

-- 14 –
DELIMITER //
CREATE FUNCTION EJERCICIO14(LTRS CHAR(2)) RETURNS INT
READS SQL DATA DETERMINISTIC
BEGIN
DECLARE MAXIMA INT;
SELECT MAX(E.CANTIDAD) INTO MAXIMA
FROM ENTREGA E INNER JOIN HERRAMIENTA H ON H.CODIGO = E.CODIGO
WHERE LEFT(H.DESCRIPCION, 2) = LTRS;

RETURN MAXIMA;
END //
DELIMITER ;

SELECT EJERCICIO14('DE') AS 'CANTIDAD MAXIMA DE HERRAMIETNA ENTREGADA';


ELSE SELECT 'LA HERRAMIENTA NO EXISTE';
END IF;
END //

DELIMITER ;

CALL PA_EJERCICIO15('MARTILLO', 20);

También podría gustarte