В чем разница между «AS» и «IS» в хранимой процедуре Oracle?

Я вижу, что процедуры Oracle иногда пишутся 9X_keyword с ключевым словом "AS", а иногда с ключевым 9X_stored-procedures словом "IS".

CREATE OR REPLACE Procedure TESTUSER.KILLINSTANCE (INSTANCEID integer) **AS**
...

против

CREATE OR REPLACE Procedure TESTUSER.KILLINSTANCE (INSTANCEID integer) **IS**
...

Есть ли между ними разница?


Изменить: По-видимому, между ними нет функциональной разницы, но некоторые люди следуют соглашению использовать «AS», когда SP является частью пакета, и «IS», когда это не так. Или наоборот. Мех.

104
2

  • Разве второй не всегда просто указывает на другую процедуру ...
6
Общее количество ответов: 6

Ответ #1

Ответ на вопрос: В чем разница между «AS» и «IS» в хранимой процедуре Oracle?

Никаких других. Они являются синонимами, чтобы 9X_stored-procedure сделать ваш код более читабельным:

ФУНКЦИЯ 9X_stored-procedure f ЕСТЬ ...

СОЗДАТЬ ПРОСМОТР v КАК ВЫБРАТЬ 9X_stored-procedures ...

71
0

Ответ #2

Ответ на вопрос: В чем разница между «AS» и «IS» в хранимой процедуре Oracle?

Одно небольшое отличие ...

Это синонимы пакетов 9X_sproc и процедур, но не курсоров:

Это работает 9X_stored-procedure ...

cursor test_cursor
is
select * from emp;

... но это не так:

cursor test_cursor
as
select * from emp;

58
1

  • Ответ Дилипа Кришнаму ...

Ответ #3

Ответ на вопрос: В чем разница между «AS» и «IS» в хранимой процедуре Oracle?

«IS» и «AS» действуют как синонимы при создании 9X_oracle процедур и пакетов, но не для курсора, таблицы 9X_oracle или представления.

25
0

Ответ #4

Ответ на вопрос: В чем разница между «AS» и «IS» в хранимой процедуре Oracle?

Вот еще одно отличие (во всяком случае, в 9X_stored-procedures 10 г)

Учитывая свободный тип объекта:

CREATE TYPE someRecordType AS OBJECT
(
   SomeCol VARCHAR2(12 BYTE)
);

Вы можете 9X_keywords создать тип loose Table этого типа объекта с 9X_stored-procedures помощью AS или IS

CREATE OR REPLACE TYPE someTableType
        IS {or AS} TABLE OF someRecordType;

Однако, если вы создаете тот 9X_stored-procedures же тип таблицы в пакете, вы должны использовать 9X_stored-procedure IS:

CREATE OR REPLACE PACKAGE SomePackage IS
    TYPE packageTableType IS TABLE OF someRecordType;
END SomePackage;

Использование AS в пакете приводит к следующей 9X_sproc ошибке:

Ошибка (2,30): PLS-00103: обнаружен 9X_sproc символ "ТАБЛИЦА" при ожидании одного из 9X_keyword следующих событий: непрозрачный объект

12
0

Ответ #5

Ответ на вопрос: В чем разница между «AS» и «IS» в хранимой процедуре Oracle?

Согласно TutorialsPoint

Ключевое слово AS используется 9X_oracle вместо ключевого слова IS для создания автономная 9X_sproc процедура.

и учитывая предыдущие ответы,

Думаю

AS 9X_oracle для отдельных (вне любого блока, подпрограммы, пакета) сущностей

и

IS 9X_stored-procedure предназначен для встроенных (внутри блока, подпрограммы 9X_keywords или пакета) объектов.

.

1
0

Ответ #6

Ответ на вопрос: В чем разница между «AS» и «IS» в хранимой процедуре Oracle?

Ключевое слово AS используется вместо ключевого 9X_oracle слова IS для создания автономной функции.

[Автономная сохраненная функция 9X_stored-procedure - это функция (подпрограмма, возвращающая одно значение), которая хранится в базе 9X_keyword данных. Примечание. Автономная сохраненная 9X_stored-procedures функция, которую вы создаете с помощью оператора 9X_keywords CREATE FUNCTION, отличается от функции, которую вы 9X_oracle объявляете и определяете в блоке или пакете 9X_keyword PL / SQL. ]

Для получения дополнительных 9X_keyword сведений read this ...

1
0