När du har BEGIN, END, etc är du i PL/SQL, inte SQL.
Ett PL/SQL-block måste avslutas med ett enda ("framåt") snedstreck i början av raden. Detta talar om för Oracle att du är klar med ditt PL/SQL-block, så det kompilerar det textblocket.
SQL-fråga - avslutas med semikolon:
update orders set status = 'COMPLETE' where order_id = 55255;
PL/SQL-block - kommandon separerade med semikolon avslutas blocket med snedstreck:
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;
/