Lorsque vous avez BEGIN, END, etc., vous êtes en PL/SQL, pas en SQL.
Un bloc PL/SQL doit se terminer par une seule barre oblique (« avant ») au tout début de la ligne. Cela indique à Oracle que vous avez terminé avec votre bloc PL/SQL, il compile donc ce bloc de texte.
Requête SQL - terminée par un point-virgule :
update orders set status = 'COMPLETE' where order_id = 55255;
Bloc PL/SQL - commandes séparées par un point-virgule, le bloc se termine par une barre oblique :
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;
/