Что делает «IS» в процедурах Oracle? - PullRequest
0 голосов
/ 06 ноября 2018

Я хочу создать процедуру в Oracle; однако любой образец, который я смотрю в Интернете, имеет синтаксис «IS», который я не смог найти для него никакой функциональности.

CREATE [OR REPLACE] PROCEDURE procedure_name
    [ (parameter [,parameter]) ]

IS
    [declaration_section]

BEGIN
    executable_section

[EXCEPTION
    exception_section]

END [procedure_name];

Кто-нибудь знает, что делает "ЕСТЬ"?

Ответы [ 2 ]

0 голосов
/ 06 ноября 2018

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 все равно требуется.

0 голосов
/ 06 ноября 2018

IS является частью Синтаксис процедуры создания : (можно заменить на AS)

Он отделяет определение процедуры от ее содержимого.

В следующем разделе необязательного объявления можно объявлять локальные переменные.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...