Когато имате BEGIN, END и т.н., вие сте в PL/SQL, а не в SQL.
Един PL/SQL блок трябва да бъде прекратен с единична наклонена черта („напред“) в самото начало на реда. Това казва на Oracle, че сте готови с вашия PL/SQL блок, така че той компилира този блок от текст.
SQL заявка - завършва с точка и запетая:
update orders set status = 'COMPLETE' where order_id = 55255;
PL/SQL блок - командите разделени с точка и запетая, блокът завършва с наклонена черта:
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;
/