Quelle est la différence entre "AS" et "IS" dans une procédure Oracle stockée?
je vois des procédures Oracle parfois écrit avec" comme", et parfois avec" EST " mot clé.
CREATE OR REPLACE Procedure TESTUSER.KILLINSTANCE (INSTANCEID integer) **AS**
...
vs.
CREATE OR REPLACE Procedure TESTUSER.KILLINSTANCE (INSTANCEID integer) **IS**
...
quelle Est la différence entre les deux?
Edit: apparemment, il n'y a pas de différence fonctionnelle entre les deux, mais certaines personnes suivent une convention pour utiliser "AS" quand le SP fait partie d'un paquet et "est" quand il ne l'est pas. Ou dans l'autre sens "autour de. Meh.
6 réponses
pas de quoi. Ce sont des synonymes fournis pour rendre votre code plus lisible:
fonction F IS ...
créer la vue v comme choisir ...
une différence mineure...
ce sont des synonymes de paquets et de procédures, mais pas de curseurs:
ça marche...
cursor test_cursor
is
select * from emp;
... mais ce n'est pas le cas:
cursor test_cursor
as
select * from emp;
"est" et " AS " agissent comme un synonyme tout en créant des procédures et des paquets, mais pas pour un curseur, une table ou une vue.
Voici une autre différence (en 10g, en tout cas)
donne un type d'objet en vrac:
CREATE TYPE someRecordType AS OBJECT
(
SomeCol VARCHAR2(12 BYTE)
);
vous pouvez créer un type de Table loose
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 paquet, vous devez utiliser IS
:
CREATE OR REPLACE PACKAGE SomePackage IS
TYPE packageTableType IS TABLE OF someRecordType;
END SomePackage;
L'utilisation de AS
dans l'emballage donne les résultats suivants: erreur:
erreur (2,30): PLS-00103: a rencontré le symbole "TABLE" en s'attendant à l'un des suivants: objet opaque
selon Tutorielspoint
le mot-clé AS est utilisé à la place du mot-clé IS pour créer un procédure autonome.
et considérant les réponses précédentes,
je suppose
AS
est autonome (en dehors de tout bloc, sous-programme, package) les entités
et
IS
est pour être intégrées à l'intérieur d'un bloc, sous-programme ou l'emballage) des entités.
.
le comme mot-clé est utilisé à la place du est mot-clé pour créer un fonction autonome .
[ autonome fonction stockée est une fonction ( un sous-programme qui retourne une valeur unique ) qui est stocké dans la base de données. Note: une fonction stockée standalone 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 paquet PL/SQL. ]
Pour plus d'explication, lire ...