Práctica 1 - calcularImporteDebido.sql
De FdIwiki ABD
Revisión a fecha de 21:47 14 mar 2016; Jcopado (Discusión | contribuciones)
--Jcopado (discusión) 20:47 14 mar 2016 (CET) (Jesús Copado y Javier Vicente)
CREATE OR REPLACE FUNCTION calcularImporteDebido(
cod_pedido NUMBER)
RETURN NUMBER IS
cont contiene%ROWTYPE; importe_debido NUMBER(8,2) := 0.00; precioNull EXCEPTION;
BEGIN
FOR cont IN( SELECT *
FROM contiene WHERE pedido = cod_pedido)
LOOP IF NOT cont.precio_con_comision IS NULL THEN importe_debido := importe_debido + (cont.precio_con_comision * cont.unidades); ELSE RAISE precioNull; END IF; END LOOP; RETURN importe_debido; EXCEPTION WHEN precioNull THEN DBMS_OUTPUT.put_line('Imposible calcular importe debido del pedido (precio con comision es NULL).');
END calcularImporteDebido;