Je to o těch "fantastických" jednoduchých uvozovkách, které jsi zde použil:
DBMS_OUTPUT.PUT_LINE('Department Names are :' || DEPARTMENT_NAME);
by měl být
DBMS_OUTPUT.PUT_LINE('Department Names are :' || DEPARTMENT_NAME);
Pokud jde o další "chyby", které jste udělali:bez smyčky , kurzor vrátí pouze jeden řádek a ten pak zobrazíte. Doporučil bych vám přepnout na smyčku kurzoru pro, protože je jednodušší na údržbu:
begin
for cur_r in (select department_name from department) loop
dbms_output.put_line(cur_r.department_name);
end loop;
end;
/
To je vše, co potřebujete; žádná deklarační sekce, žádné otevírání ani zavírání kurzoru, žádné starosti s ukončením cyklu... Oracle to udělá za vás.