Différence entre la vue et la procédure stockée

Voir vs procédure stockée
 

Les vues et les procédures stockées sont deux types d'objets de base de données. Les vues sont des types de requêtes stockées, qui rassemblent les données d'une ou de plusieurs tables. Ici, est la syntaxe pour créer une vue

créer ou remplacer view viewname

comme

select_statement;

Une procédure stockée est un jeu de commandes SQL précompilé, stocké dans le serveur de base de données. Chaque procédure stockée a un nom d'appel qui est utilisé pour les appeler dans d'autres packages, procédures et fonctions. Ceci est la syntaxe (dans ORACLE) pour créer une procédure stockée,

créer ou remplacer procedure procedure nom (paramètres)

est

commencer

les déclarations;

exception

gestion des exceptions

fin;

Vue

Une vue agit comme une table virtuelle. Il cache une déclaration select à l'intérieur de son corps. Cette instruction select peut être très complexe et prendre des données de plusieurs tables et vues. Par conséquent, en d'autres termes, une vue est une instruction select nommée, qui est stockée dans la base de données. Une vue peut être utilisée pour masquer la logique derrière les relations de table aux utilisateurs finaux. Puisqu'une vue est le résultat d'une requête stockée, elle ne conserve aucune donnée. Il rassemble des données à partir des tables et des spectacles de base. Les vues jouent également un rôle important dans la sécurité des données. Lorsque le propriétaire de la table doit afficher uniquement un ensemble de données aux utilisateurs finaux, la création d'une vue est une bonne solution. Les vues peuvent être divisées en deux catégories

  • Vues pouvant être mises à jour (ces vues peuvent être utilisées pour INSERT, UPDATE et DELETE)
  • Vues non actualisables (ces vues ne peuvent pas être utilisées pour INSERT, UPDATE et DELETE)

Les vues pouvant être mises à jour ne peuvent pas inclure les éléments suivants,

Opérateurs de postes (INTERSECT, MOINS, UNION, UNION ALL)

DISTINCT

Fonctions d'agrégation de groupe (AVG, COUNT, MAX, MIN, SOMME, etc.)

Clause GROUP BY

ORDER BY Clause

CONNECT BY Clause

COMMENCER PAR Clause

Expression de collection dans une liste de sélection

Sous-requête dans une liste de sélection

Joindre la requête 

Procédure stockée

Les procédures stockées sont des blocs de programmation nommés. Ils doivent avoir un nom pour appeler. Les procédures stockées acceptent les paramètres en tant qu'entrée utilisateur et sont traitées conformément à la logique sous-jacente à la procédure et donnent le résultat (ou exécutent une action spécifique). Les déclarations de variable, les affectations de variable, les instructions de contrôle, les boucles, les requêtes SQL et les autres appels de fonctions / procédures / packages peuvent faire partie du corps des procédures.. 

Quelle est la différence entre Voir et procédure stockée?

Voyons les différences entre ces deux.

• Les vues agissent comme des tables virtuelles. Elles peuvent être utilisées directement à partir de requêtes SQL proches (select), mais les procédures ne peuvent pas être utilisées à partir de requêtes SQL..

Les vues ont uniquement une instruction select, mais les procédures peuvent avoir des déclarations de variable, des affectations de variable, des instructions de contrôle, des boucles, des requêtes SQL et d'autres appels de fonctions / procédures / packages comme corps..

• La procédure accepte les paramètres à exécuter, mais les vues ne veulent pas que les paramètres soient exécutés..

• Vous pouvez créer des types d’enregistrement à partir de vues utilisant% ROWTYPE, mais vous ne pouvez pas créer de types d’enregistrement à l’aide de procédures..

• Les indicateurs SQL peuvent être utilisés dans l'instruction select select pour optimiser le plan d'exécution, mais les indicateurs SQL ne peuvent pas être utilisés dans les procédures stockées..

• DELETE, INSERT, UPDATE, SELECT, FLASHBACK et DEBUG peuvent être accordés sur des vues, mais seuls EXECUTE et DEBUG peuvent être accordés sur des procédures..