Wenn Sie BEGIN, END usw. haben, befinden Sie sich in PL/SQL, nicht in SQL.
Ein PL/SQL-Block muss mit einem einzelnen ("forward") Schrägstrich ganz am Anfang der Zeile abgeschlossen werden. Dies teilt Oracle mit, dass Sie mit Ihrem PL/SQL-Block fertig sind, sodass dieser Textblock kompiliert wird.
SQL-Abfrage - abgeschlossen durch Semikolon:
update orders set status = 'COMPLETE' where order_id = 55255;
PL/SQL-Block - Befehle getrennt durch Semikolon, Block wird durch Schrägstrich abgeschlossen:
create or replace procedure mark_order_complete (completed_order_id in number)
is
begin
update orders set status = 'COMPLETE' where order_id = :completed_order_id;
end mark_order_complete;
/