Files
corso-plsql/statement/FOR.sql
2019-09-12 20:43:04 +02:00

38 lines
814 B
SQL

DECLARE
V_CODFID VARCHAR2(20) := :CODFID;
V_NUMSPESE BINARY_INTEGER := 0;
V_CONTATORE BINARY_INTEGER := 0;
V_MINVALUE NUMBER := 0;
V_BONUS NUMBER := 0;
BEGIN
SELECT
COUNT(*)
INTO
V_NUMSPESE
FROM
CORSOPLSQL.SCONTRINI
WHERE
CODFID = V_CODFID;
V_NUMSPESE := V_NUMSPESE - 15;
-- Espressione FOR
IF (V_NUMSPESE > V_MINVALUE) THEN
-- Ciclo inverso: FOR <CONTATORE> IN REVERSE <RANGE> LOOP
FOR V_CONTATORE IN V_MINVALUE..V_NUMSPESE LOOP
V_BONUS := V_BONUS + 100;
DBMS_OUTPUT.PUT_LINE('Creato Bonus ' || V_CONTATORE);
-- In alternativa EXIT WHEN V_BONUS > 500;
IF V_BONUS > 500 THEN
DBMS_OUTPUT.PUT_LINE('Bonus Massimo Raggiunto!');
EXIT;
END IF;
END LOOP;
END IF;
DBMS_OUTPUT.PUT_LINE('Fatto!');
END;