Vejo procedimentos Oracle algumas vezes escritos com "AS" e outras vezes com a palavra-chave "IS".
CREATE OR REPLACE Procedure TESTUSER.KILLINSTANCE (INSTANCEID integer) **AS**
...
vs.
CREATE OR REPLACE Procedure TESTUSER.KILLINSTANCE (INSTANCEID integer) **IS**
...
Existe alguma diferença entre os dois?
Edit: Aparentemente, não há diferença funcional entre os dois, mas algumas pessoas seguem uma convenção para usar "AS" quando o SP faz parte de um pacote e "IS" quando não é. Ou do outro modo. Meh.
oracle
stored-procedures
keyword
Ishmaeel
fonte
fonte
Respostas:
Absolutamente nada. Eles são sinônimos fornecidos para tornar seu código mais legível:
FUNÇÃO f IS ...
CREATE VIEW v AS SELECT ...
fonte
Uma pequena diferença ...
Eles são sinônimos de pacotes e procedimentos, mas não de cursores:
Isso funciona...
... mas isso não:
fonte
"IS" e "AS" atuam como sinônimos ao criar procedimentos e pacotes, mas não para um cursor, tabela ou visão.
fonte
Aqui está outra diferença (em 10g, pelo menos)
Dado um tipo de objeto solto:
Você pode criar um
loose
tipo de Tabela deste tipo de objeto comAS
ouIS
No entanto, se você criar esse mesmo tipo de tabela em um pacote, deverá usar
IS
:O uso de
AS
no pacote produz o seguinte erro:fonte
De acordo com TutorialsPoint
e considerando as respostas anteriores,
eu acho
AS
é para entidades autônomas (fora de qualquer bloco, subprograma, pacote)e
IS
é para entidades embutidas (dentro de um bloco, subprograma ou pacote)..
fonte
A palavra-chave AS é usada em vez da palavra-chave IS para criar uma função autônoma .
[Uma função armazenada autônoma é uma função ( um subprograma que retorna um único valor ) que é armazenada no banco de dados. Nota: Uma função armazenada independente que você cria com a instrução CREATE FUNCTION é diferente de uma função que você declara e define em um bloco ou pacote PL / SQL. ]
Para obter mais explicações, leia isto ...
fonte