Quelle est la différence entre une procédure stockée et procédure autonome dans Oracle?
standlone procédure
create procedure proc1
(
begin
end;
)
procédure stockée
create package pkg1
(
procedure proc2
begin
end;
)
La seconde est une procédure à l'intérieur d'un package
OriginalL'auteur Prabha Christ | 2015-07-08
Vous devez vous connecter pour publier un commentaire.
De la documentation oracle pour
CREATE PROCEDURE
Un procédure imbriquée est une procédure qui est en PL/SQL de bloquer ou d'un package.
De la
CRÉER un PACKAGE
documentation:Autonome des procédures et des procédures imbriquées dans un package sont tous deux conservés (compilé) dans la base de données - donc sont "stockés". Les procédures définies dans l'anonymat PL/SQL bloc ne sont pas "stockée" procédures.
Ce n'est pas une procédure stockée:
Il n'y a pas une énorme différence entre les procédures imbriquées dans des packages et autonome procédures:
CREATE PROCEDURE ...
alors qu'une procédure imbriquée est défini dans le code PL/SQL bloc à l'aide d'PROCEDURE ...
.AS BEGIN ... END;
partie), mais un (public) procédure imbriquée dans un package ne déclare la procédure de la rubrique (lePROCEDURE NAME(...)
partie) et ensuite dans le corps de package redressera la tête et de définir la définition de la procédure.OriginalL'auteur MT0
Ces deux procédures stockées, car ils sont stockés dans la base de données et peut être appelé à plus tard.
Mettre procédures dans un package est juste une belle façon de les organiser. Il aide à se rappeler de mettre à jour toutes les procédures pertinentes ensemble, garder vos scripts de création de ranger, etc. La principale différence fonctionnelle est la capacité à accorder et révoquer les privilèges d'un package complet, au lieu d'avoir à gérer une douzaine de "stand-alone" procédures de façon indépendante.
créer la procédure...
une procédure autonome est une procédure qui n'est pas partie d'un package. C'est encore une procédure stockée cependant, les deux termes ne contredisez pas. À l'opposé d'une procédure stockée serait un anonyme pl/SQL bloc -
begin ...
.de plus à ajouter sur ce 1) procédures définies dans le package peut être surchargée. 2) toute procédure ou de fonctions dans le paquet sont chargés en mémoire lorsque quelqu'un est appelé à le faire, lorsque vous avez besoin de faire appel à d'autres proc de package, il est déjà disponible dans la mémoire --> de cette façon, vous aurez gain de performance.
OriginalL'auteur Mureinik