Я вижу, что процедуры Oracle иногда пишутся с ключевым словом «AS», а иногда с ключевым словом «IS».
CREATE OR REPLACE Procedure TESTUSER.KILLINSTANCE (INSTANCEID integer) **AS**
...
против.
CREATE OR REPLACE Procedure TESTUSER.KILLINSTANCE (INSTANCEID integer) **IS**
...
Есть ли между ними разница?
В моем тесте оба работали с одним и тем же телом. Незнаю о том, чтобы указать на другую процедуру.





Никаких других. Это синонимы, которые делают ваш код более читабельным:
ФУНКЦИЯ f ЕСТЬ ...
СОЗДАТЬ ПРОСМОТР v КАК ВЫБРАТЬ ...
Одно небольшое отличие ...
Это синонимы пакетов и процедур, но не курсоров:
Это работает...
cursor test_cursor
is
select * from emp;
... но это не так:
cursor test_cursor
as
select * from emp;
Ответ Дилипа Кришнамурти завершает это
Вот еще одно отличие (во всяком случае, в 10гр)
Учитывая свободный тип объекта:
CREATE TYPE someRecordType AS OBJECT
(
SomeCol VARCHAR2(12 BYTE)
);
Вы можете создать тип таблицы loose этого типа объекта с помощью AS или IS.
CREATE OR REPLACE TYPE someTableType
IS {or AS} TABLE OF someRecordType;
Однако, если вы создаете этот же тип таблицы в пакете, вы должны использовать IS:
CREATE OR REPLACE PACKAGE SomePackage IS
TYPE packageTableType IS TABLE OF someRecordType;
END SomePackage;
Использование AS в пакете приводит к следующей ошибке:
Error(2,30): PLS-00103: Encountered the symbol "TABLE" when expecting one of the following: object opaque
«IS» и «AS» действуют как синонимы при создании процедур и пакетов, но не для курсора, таблицы или представления.
Согласно TutorialsPoint
The AS keyword is used instead of the IS keyword for creating a standalone procedure.
и учитывая предыдущие ответы,
я предполагаю
AS предназначен для автономных (вне любого блока, подпрограммы, пакета) сущностей
и
IS предназначен для встроенных (внутри блока, подпрограммы или пакета) объектов.
.
Ключевое слово КАК используется вместо ключевого слова ЯВЛЯЕТСЯ для создания автономная функция.
[Сохраненная функция автономный - это функция (подпрограмма, которая возвращает одно значение), которая хранится в базе данных. Примечание. Автономная сохраненная функция, которую вы создаете с помощью оператора CREATE FUNCTION, - это разные из функции, которую вы объявляете и определяете в блоке или пакете PL / SQL. ]
Для более подробного объяснения, прочитай это ...
Разве второй не всегда просто указывает на другую процедуру, которая фактически реализует эту функциональность?