Il s'agit de ces guillemets simples "fantaisistes" que vous avez utilisés ici :
DBMS_OUTPUT.PUT_LINE(‘Department Names are :’ || DEPARTMENT_NAME);
devrait être
DBMS_OUTPUT.PUT_LINE('Department Names are :' || DEPARTMENT_NAME);
Comme d'autres "erreurs" que vous avez commises :sans boucle , le curseur renvoie une seule ligne et vous l'affichez ensuite. Je vous suggère de passer à un curseur pour la boucle car il est plus simple à maintenir :
begin
for cur_r in (select department_name from department) loop
dbms_output.put_line(cur_r.department_name);
end loop;
end;
/
C'est tout ce dont vous avez besoin; pas de section de déclaration, pas d'ouverture ni de fermeture de curseur, pas de souci de sortir de la boucle... Oracle le fait pour vous.