Statement di controllo e di iterazione

This commit is contained in:
Fabio Scotto di Santolo
2019-09-11 22:52:25 +02:00
parent 6a846296a9
commit dbf7aa62ef
7 changed files with 203 additions and 0 deletions

37
FOR.sql Normal file
View File

@@ -0,0 +1,37 @@
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;