Det handler om de "fancy" enkelte citater, du brugte her:
DBMS_OUTPUT.PUT_LINE('Department Names are :' || DEPARTMENT_NAME);
burde være
DBMS_OUTPUT.PUT_LINE('Department Names are :' || DEPARTMENT_NAME);
Som for andre "fejl" du har lavet:uden en løkke , returnerer markøren kun én række, og du viser den derefter. Jeg vil foreslå dig at skifte til en markør for loop, da det er nemmere at vedligeholde:
begin
for cur_r in (select department_name from department) loop
dbms_output.put_line(cur_r.department_name);
end loop;
end;
/
Dette er alt hvad du behøver; ingen erklæringssektion, ingen åbning eller lukning af en markør, ingen bekymringer om at forlade sløjfen ... Oracle gør det for dig.