Als je BEGIN, END, enz. hebt, ben je in PL/SQL, niet in SQL.
Een PL/SQL-blok moet worden afgesloten met een enkele ("forward") slash helemaal aan het begin van de regel. Dit vertelt Oracle dat u klaar bent met uw PL/SQL-blok, dus compileert het dat tekstblok.
SQL-query - beëindigd door puntkomma:
update orders set status = 'COMPLETE' where order_id = 55255;
PL/SQL-blok - commando's gescheiden door puntkomma, blok wordt beëindigd door slash:
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;
/