Es geht um diese "ausgefallenen" einfachen Anführungszeichen, die Sie hier verwendet haben:
DBMS_OUTPUT.PUT_LINE(‘Department Names are :’ || DEPARTMENT_NAME);
sollte
seinDBMS_OUTPUT.PUT_LINE('Department Names are :' || DEPARTMENT_NAME);
Wie bei anderen "Fehlern", die Sie gemacht haben:ohne Schleife , gibt der Cursor nur eine Zeile zurück und Sie zeigen sie dann an. Ich würde vorschlagen, dass Sie zu einer Cursor-for-Schleife wechseln, da diese einfacher zu warten ist:
begin
for cur_r in (select department_name from department) loop
dbms_output.put_line(cur_r.department_name);
end loop;
end;
/
Das ist alles, was Sie brauchen; kein Deklarationsabschnitt, kein Öffnen oder Schließen eines Cursors, keine Sorge um das Verlassen der Schleife ... Oracle erledigt das für Sie.