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

Anonim

Voir vs Procédure stockée

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 à l'intérieur d'autres packages, procédures et fonctions. C'est la syntaxe (dans ORACLE) pour créer une procédure stockée, créer ou remplacer la procédure procédurename (paramètres)

est

begin

déclarations;

exception

exception_handling

fin;

Voir

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, ce qui prend 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 des utilisateurs finaux. Comme une vue est le résultat d'une requête stockée, elle ne conserve aucune donnée. Il recueille des données à partir des tables de base et des spectacles. Les vues jouent également un rôle important dans la sécurité des données. Lorsque le propriétaire de la table n'affiche qu'un ensemble de données pour les utilisateurs finaux, la création d'une vue est une bonne solution. Les vues peuvent être divisées en deux catégories

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

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

DISTINCT

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

> Expression de collection dans une liste de sélection

Requête secondaire dans A Liste de sélection

Requête de jointure

Procédure stockée

Les procédures stockées sont nommés blocs de programmation. Ils doivent avoir un nom à appeler. Les procédures stockées acceptent les paramètres en tant qu'entrée utilisateur et traitent selon la logique derrière la procédure et donnent le résultat (ou effectuent une action spécifique). Les déclarations de variables, les affectations de variables, les instructions de contrôle, les boucles, les requêtes SQL et d'autres appels de fonctions / procédures / paquets peuvent être dans le corps des procédures.

Quelle est la différence entre

Affichage et procédure stockée

?

Voyons les différences entre les deux.

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

• Les vues n'ont qu'une instruction select comme corps, mais les procédures peuvent avoir comme corps des déclarations de variables, des affectations de variables, des instructions de contrôle, des boucles, des requêtes SQL et d'autres fonctions / procédures / paquets. • La procédure accepte les paramètres à exécuter, mais les vues ne veulent pas que les paramètres soient exécutés. • Les types d'enregistrement peuvent être créés à partir des vues utilisant% ROWTYPE, mais en utilisant des procédures, les types d'enregistrement ne peuvent pas être créés.

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

• Les options DELETE, INSERT, UPDATE, SELECT, FLASHBACK et DEBUG peuvent être accordées sur les vues, mais seules les commandes EXECUTE et DEBUG peuvent être accordées.