Je vois des procédures Oracle parfois écrites avec "AS", et parfois avec "IS".
CREATE OR REPLACE Procedure TESTUSER.KILLINSTANCE (INSTANCEID integer) **AS**
...
vs.
CREATE OR REPLACE Procedure TESTUSER.KILLINSTANCE (INSTANCEID integer) **IS**
...
Y a-t-il une différence entre les deux?
Rien du tout. Ce sont des synonymes fournis pour rendre votre code plus lisible:
FONCTION f IS ...
CRÉER UNE VUE v COMME SÉLECTIONNER ...
Une petite différence ...
Ce sont des synonymes de packages et de procédures, mais pas de curseurs:
Cela marche...
cursor test_cursor
is
select * from emp;
... mais cela ne veut pas:
cursor test_cursor
as
select * from emp;
"IS" et "AS" agissent comme des synonymes lors de la création de procédures et de packages, mais pas pour un curseur, une table ou une vue.
Voici une autre différence (en 10g, en tout cas)
Étant donné un type d'objet lâche:
CREATE TYPE someRecordType AS OBJECT
(
SomeCol VARCHAR2(12 BYTE)
);
Vous pouvez créer un loose
type de table de ce type d'objet avec AS
ou IS
CREATE OR REPLACE TYPE someTableType
IS {or AS} TABLE OF someRecordType;
Cependant, si vous créez ce même type de table dans un package, vous devez utiliser IS
:
CREATE OR REPLACE PACKAGE SomePackage IS
TYPE packageTableType IS TABLE OF someRecordType;
END SomePackage;
L'utilisation de AS
dans le package génère l'erreur suivante:
Erreur (2,30): PLS-00103: A rencontré le symbole "TABLE" lors de l'attente de l'un des éléments suivants: objet opaque
Le mot clé [~ # ~] as [~ # ~] est utilisé à la place du [~ # ~] est le mot clé [~ # ~] pour créer une fonction autonome .
[Une fonction stockée autonome est une fonction ( un sous-programme qui renvoie une valeur unique ) qui est stocké dans la base de données. Remarque: Une fonction stockée autonome que vous créez avec l'instruction CREATE FUNCTION est différente d'une fonction que vous déclarez et définissez dans un bloc ou un package PL/SQL . ]
Pour plus d'explications, lire ceci ...
Selon TutorialsPoint
Le mot clé AS est utilisé à la place du mot clé IS pour créer une procédure autonome.
et compte tenu des réponses précédentes,
J'imagine
AS
est pour les entités autonomes (en dehors de tout bloc, sous-programme, package)
et
IS
est destiné aux entités incorporées (dans un bloc, un sous-programme ou un package).
.