Cuando tiene BEGIN, END, etc., está en PL/SQL, no en SQL.
Un bloque PL/SQL debe terminar con una sola barra inclinada ("hacia delante") al principio de la línea. Esto le dice a Oracle que ha terminado con su bloque PL/SQL, por lo que compila ese bloque de texto.
Consulta SQL - terminada por punto y coma:
update orders set status = 'COMPLETE' where order_id = 55255;
Bloque PL/SQL - comandos separados por punto y coma, el bloque termina con una barra diagonal:
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;
/