IS
в этом контексте говорит нам (и компилятору), что ниже следует тело процедуры. Его отсутствие говорит нам (и компилятору), что это просто объявление (например, предварительное объявление в теле пакета):
create or replace package body mypkg is
-- this is just a forward declaration for the procedure
procedure myproc (id in number);
-- this is the full definition of the procedure
procedure myproc (id in number)
IS
..body of myproc..;
end mypkg;
В случае процедуры уровня схемы мы могли бы (теоретически) иметь синтаксис, который делает IS
необязательным, поскольку нет необходимости в предварительных объявлениях; но (к счастью) разработчики PL / SQL сохранили синтаксис в соответствии с синтаксисом в пакете, поэтому IS
все равно требуется.