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

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

Afficher la procédure stockée vs
 

Les vues et les procédures stockées sont deux types d'objets de base de données. Les vues sont en quelque sorte des requêtes stockées, qui recueillent des données à partir d'une ou plusieurs tables. Voici la syntaxe pour créer une vue

Créer ou remplacer Affichage ViewName

comme

select_statement;

Une procédure stockée est un ensemble de commandes SQL pré-compilé, qui est 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 la procédure procédure (paramètres)

est

commencer

déclarations;

exception

gestion des exceptions

fin;

Voir

Une vue agit comme une table virtuelle. Il cache une déclaration sélectionnée à l'intérieur de son corps. Cette instruction SELECT peut être très complexe, qui prend les 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. Puisqu'une vue est le résultat d'une requête stockée, elle ne conserve aucune donnée. Il rassemble des données des tables de base et montre. Les vues jouent un rôle important dans la sécurité des données, ainsi que. Lorsque le propriétaire de la table doit afficher uniquement un ensemble de données sur les utilisateurs finaux, la création d'une vue est une bonne solution. Les vues peuvent être divisées en deux catégories

  • Vues à jour (vues celles-ci peuvent être utilisées pour insérer, mettre à jour et supprimer)
  • Vues non adaptables (les vues ne peuvent pas être utilisées pour insérer, mettre à jour et supprimer)

Les vues mises à jour ne peuvent pas inclure les suivants,

Définir les opérateurs (intersection, moins, syndicat, syndical tout)

DISTINCT

Fonctions d'agrégats de groupe (avg, comte, max, min, sum, etc.)

Groupe par clause

Ordre par clause

Connectez-vous par clause

Commencez par la clause

Expression de la collection dans une liste de sélection

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

Rejoindre la requête 

Procédure stockée

Les procédures stockées sont nommées blocs de programmation. Ils doivent avoir un nom à appeler. Les procédures stockées acceptent les paramètres comme entrée et processus utilisateur en fonction de la logique derrière la procédure et donnez le résultat (ou effectuez une action spécifique). Des déclarations variables, des affectations variables, des instructions de contrôle, des boucles, des requêtes SQL et d'autres fonctions / procédures / appels de package peuvent être à l'intérieur du corps des procédures. 

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

Voyons les différences entre ces deux.

• Les vues agissent comme des tables virtuelles. Ils peuvent être utilisés directement à partir de la fermeture 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 sélectionnée comme corps, mais les procédures peuvent avoir des déclarations variables, des affectations variables, des instructions de contrôle, des boucles, des requêtes SQL et d'autres fonctions / procédures / appels de package comme corps.

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

• Les types d'enregistrements peuvent être créés à partir de vues à l'aide de% RowType, mais en utilisant des procédures, les types d'enregistrements ne peuvent pas être créés.

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

• Supprimer, insérer, mettre à jour, sélectionner, flashback et débogage peuvent être accordés sur les vues, mais seul l'exécution et le débogage peuvent être accordés sur les procédures.