i guess u will hv to use cursor like this:
declare cursor c1 is
select cola ,colb from table2;
fetch c1 into v_cola,v_colb;
exit when c1%notfound;
set colb = v_colb
where cola = v_cola;
once u verify that values are ok issue a commit;
You don't need PL/SQL, it can be done in SQL, but only if the subquery returns just one row.
(SELECT WON + LOST
WHERE PLAYERNO = PLAYERS.PLAYERNO)
returns two rows, Oracle doesn't know which of the two rows has the new value of NUMBER_OF_SETS. Then you get the 'single row query returns more than one row' error.