CREATE OR REPLACE
Comme déjà mentionné, pour modifier une vue, on peut tout simplement ajouter la clause OR REPLACE à la requête de création
de la vue, et lui donner le nom de la vue à modifier. L'ancienne vue sera alors remplacée.
Si le nom de votre vue est incorrect et ne correspond à aucune vue existante, aucune erreur ne sera renvoyée, et vous
créerez tout simplement une nouvelle vue.
ALTER
Il existe aussi la commande ALTER VIEW, qui aura le même effet que CREATE OR REPLACE VIEW si la vue existe bel et
bien. Dans le cas contraire, ALTER VIEW générera une erreur.
Syntaxe :
Code : SQL
ALTER VIEW nom_vue [(liste_colonnes)]
AS requete_select
Exemples : les deux requêtes suivantes ont exactement le même effet : on modifie la vue V_espece_dollars pour mettre à jour le
taux de change du dollar.
Code : SQL
CREATE OR REPLACE VIEW V_Espece_dollars
AS SELECT id, nom_courant, nom_latin, description,
ROUND(prix*1.30813, 2) AS prix_dollars
FROM Espece;
ALTER VIEW V_Espece_dollars
AS SELECT id, nom_courant, nom_latin, description,
ROUND(prix*1.30813, 2) AS prix_dollars
FROM Espece;
Suppression
Pour supprimer une vue, on utilise simplement DROP VIEW [IF EXISTS] nom_vue;.
Exemple : suppression de V_Race.
Code : SQL
DROP VIEW V_Race;
Utilité des vues
Au-delà de la légendaire paresse des informaticiens, bien contents de ne pas devoir retaper la même requête encore et encore, les
vues sont utilisées pour différentes raisons, dont voici les principales.
Clarification et facilitation des requêtes
Lorsqu'une requête implique un grand nombre de tables, ou nécessite des fonctions, des regroupements, etc., même une bonne
indentation ne suffit pas toujours à rendre la requête claire. Qui plus est, plus la requête est longue et complexe, plus l'ajout de la
moindre condition peut se révéler pénible.
Avoir une vue pour des requêtes complexes permet de simplifier et de clarifier les requêtes.
Partie 6 : Au-delà des tables classiques : vues, tables temporaires et vues matérialisées
339/414
www.openclassrooms.com
Précédent

- 339/413

Suivant