Files
corso-plsql/funzioni/FUNZIONE_2.sql
Fabio Scotto di Santolo a4fbba3f17 Esempi sulle funzioni
2019-09-25 22:48:36 +02:00

38 lines
1018 B
SQL

-- Funzione Uf_GetFattArt V.1
CREATE OR REPLACE FUNCTION Uf_GetFattArt
(CodArt_I ARTICOLI.CODART%TYPE,
Tipo_Vend NUMBER) -- 1 = Totale; 2 = Normale; 3 = Promo
RETURN NUMBER
AS
v_RetVal NUMBER;
BEGIN
IF Tipo_Vend = 3 THEN
SELECT NVL(SUM(QTA * Prezzo),0) INTO v_RetVal
FROM DETTSCONTRINI
WHERE CODART = CodArt_I
AND INPROMO = 'Si';
ELSIF Tipo_Vend = 2 THEN
SELECT NVL(SUM(QTA * Prezzo),0) INTO v_RetVal
FROM DETTSCONTRINI
WHERE CODART = CodArt_I
AND INPROMO = 'No';
ELSE
SELECT NVL(SUM(QTA * Prezzo),0) INTO v_RetVal
FROM DETTSCONTRINI
WHERE CODART = CodArt_I;
END IF;
RETURN v_RetVal;
EXCEPTION
WHEN NO_DATA_FOUND
THEN
RETURN(0);
DBMS_OUTPUT.PUT_LINE ('Articolo non trovato o non venduto');
WHEN OTHERS
THEN
RETURN(-1);
DBMS_OUTPUT.PUT_LINE ('Errore Esecuzione Uf_GetPrzArt');
END Uf_GetFattArt;