Når du har BEGIN, END osv. er du i PL/SQL, ikke SQL.
En PL/SQL-blok skal afsluttes med en enkelt ("fremad") skråstreg helt i begyndelsen af linjen. Dette fortæller Oracle, at du er færdig med din PL/SQL-blok, så det kompilerer den tekstblok.
SQL-forespørgsel - afsluttet med semikolon:
update orders set status = 'COMPLETE' where order_id = 55255;
PL/SQL-blok - kommandoer adskilt med semikolon afsluttes blok med fremad-skråstreg:
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;
/