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.
81
demandé sur Ishmaeel 2008-10-23 20:11:11

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 ...

55
répondu Tony Andrews 2008-10-23 16:18:46

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;
50
répondu Nick Pierpoint 2008-10-27 07:10:24

"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.

17
répondu Dileep Krishnamurthy 2015-05-21 20:00:43

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

10
répondu StuartLC 2014-04-15 11:43:40

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.

.

2
répondu Dániel Sándor 2018-03-19 18:13:01

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 ...

1
répondu Pankaj Shivalkar 2018-06-21 06:15:22