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;
