В чем разница между "AS" и "IS" в хранимой процедуре Oracle?
Я вижу процедуры Oracle, иногда написанные с помощью ключевого слова" AS", а иногда с помощью ключевого слова" IS".
CREATE OR REPLACE Procedure TESTUSER.KILLINSTANCE (INSTANCEID integer) **AS**
...
и
CREATE OR REPLACE Procedure TESTUSER.KILLINSTANCE (INSTANCEID integer) **IS**
...
есть ли разница между двумя?
Edit: по-видимому, между ними нет функциональной разницы, но некоторые люди следуют соглашению использовать "как", когда SP является частью пакета, и "есть", когда это не так. Или вокруг другого пути'. Мех.
6 ответов:
нет whatsover. Они являются синонимами, поставляемыми, чтобы сделать ваш код более читаемым:
функция f есть ...
создать вид v Как выбрать ...
небольшое различие...
Они являются синонимами для пакетов и процедур, но не для курсоров:
это работает...
cursor test_cursor is select * from emp;
... но это не так:
cursor test_cursor as select * from emp;
"IS" и " AS " действуют как синоним при создании процедур и пакетов, но не для курсора, таблицы или представления.
вот еще одна разница (в 10g, во всяком случае)
учитывая свободный тип объекта:
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
в пакете выдает следующую ошибку:ошибка (2,30): PLS-00103: обнаружен символ "Таблица" при ожидании одного из следующих действий: объект непрозрачный
по данным TutorialsPoint
ключевое слово AS используется вместо ключевого слова IS для создания автономная процедура.
и учитывая предыдущие ответы,
Я думаю
AS
для автономных (вне любого блока, подпрограммы, пакета) сущностейи
IS
для встроенных (в пределах блока, подпрограммы или пакета) сущностей..
The как ключевое слово используется вместо и ключевое слово для создания отдельной функции.
[ A автономной сохраненная функция-это функция (подпрограмма, которая возвращает одно значение), которая хранится в базе данных. Примечание: автономная хранимая функция, которую вы создаете с помощью инструкции CREATE FUNCTION, является разные из функции, которую вы объявляете и определяете в блоке PL / SQL или пакет. ]
для более подробного объяснения, читать это...