В чем разница между «именем процедуры IS» и «именем процедуры AS» в Oracle? - PullRequest
1 голос
/ 22 января 2020

Образец PROCEDURE (p_num1 IN TABLE% TYPE, p_num2 OUT NUMBER) IS

ИЛИ

Образец PROCEDURE (p_num1 IN TABLE% TYPE, p_num2 OUT NUMBER) AS

1 Ответ

5 голосов
/ 22 января 2020

Разница только в одной букве: I против A. Вы можете использовать оба, не будет никакой другой разницы. Эффект выполнения обоих одинаков за исключением одной и той же незначительной разницы, хранящейся в таблицах словаря данных [CDB | DBA | ALL | USER] _SOURCE.

SQL> create or replace procedure p_test is begin null; end;
  2  /

Procedure created.

    SQL> create or replace procedure p_test as begin null; end;
      2  /

    Procedure created.

    SQL>

Обратите внимание, что он не работает, например, для представлений :

SQL> create or replace view v_emp as select * from emp;

View created.

SQL> create or replace view v_emp is select * from emp;
create or replace view v_emp is select * from emp
                             *
ERROR at line 1:
ORA-00905: missing keyword
...