SET SERVEROUTPUT ON
DECLARE
   v_name      donor.name%TYPE;
   v_city      donor.city%TYPE;
   v_yrgoal    donor.yrgoal%TYPE;
   v_new_goal  donor.yrgoal%TYPE;

CURSOR todecodecursor is
   SELECT name, city, yrgoal,
     DECODE(city, 'Seekonk', yrgoal + 100,
                  'Providence', yrgoal + 125,
                  'Fall River', yrgoal + 150,
                  yrgoal)
           new_goal
     FROM donor;
BEGIN
   OPEN todecodecursor;
   FETCH todecodecursor into v_name, v_city, v_yrgoal, v_new_goal;
   WHILE todecodecursor%FOUND loop
      dbms_output.put_line(v_name || ' ' || v_city || ' ' || v_yrgoal || ' ' || v_new_goal);  
      FETCH todecodecursor into v_name, v_city, v_yrgoal, v_new_goal;
   END loop;
   CLOSE todecodecursor;
END;
/
SET SERVEROUTPUT OFF