Я вижу, что процедуры Oracle иногда пишутся с ключевым словом «AS», а иногда с ключевым словом «IS».
CREATE OR REPLACE Procedure TESTUSER.KILLINSTANCE (INSTANCEID integer) **AS**
...
vs.
CREATE OR REPLACE Procedure TESTUSER.KILLINSTANCE (INSTANCEID integer) **IS**
...
Есть ли разница между ними?
Изменить: По-видимому, между ними нет функциональной разницы, но некоторые люди следуют соглашению использовать «AS», когда SP является частью пакета, и «IS», когда это не так. Или наоборот. Мех.
oracle
stored-procedures
keyword
Измаил
источник
источник
Ответы:
Никаких других. Они являются синонимами, чтобы сделать ваш код более читабельным:
ФУНКЦИЯ f ЕСТЬ ...
СОЗДАТЬ ПРОСМОТР v КАК ВЫБРАТЬ ...
источник
Одно небольшое отличие ...
Это синонимы пакетов и процедур, но не курсоров:
Это работает...
cursor test_cursor is select * from emp;
... но это не так:
cursor test_cursor as select * from emp;
источник
«IS» и «AS» действуют как синонимы при создании процедур и пакетов, но не для курсора, таблицы или представления.
источник
Вот еще одно отличие (во всяком случае, в 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
в пакете приводит к следующей ошибке:источник
Согласно TutorialsPoint
и учитывая предыдущие ответы,
Похоже
AS
для отдельных (вне любого блока, подпрограммы, пакета) сущностейа также
IS
предназначен для встроенных (внутри блока, подпрограммы или пакета) объектов..
источник
AS используется ключевое слово вместо IS ключевое слово для создания функции автономной .
[ Автономная сохраненная функция - это функция ( подпрограмма, возвращающая одно значение ), которая хранится в базе данных. Примечание. Автономная сохраненная функция, которую вы создаете с помощью оператора CREATE FUNCTION, отличается от функции, которую вы объявляете и определяете в блоке или пакете PL / SQL. ]
Чтобы узнать больше, прочтите это ...
источник