Oracle Database/Vues


PrincipeModifier

Une vue est une table virtuelle, utilisée pour afficher le résultat d'une requête fréquente, selon des permissions précises (ex : afficher des colonnes seulement pour un utilisateur).

Créer une vueModifier

La vue suivante n'a pas grand intérêt car elle est redondante d'une table :

CREATE OR REPLACE VIEW MaVue1 AS 
    SELECT * 
    FROM client1

Actualiser une vueModifier

Les enregistrements de la vue s'actualisent automatiquement, mais si la structure d'une des tables appelées par la vue change, cette dernière renvoie une erreur. Il faut donc la mettre à jour avec :

ALTER VIEW MaVue1 COMPILE

Lister les vuesModifier

 SELECT * FROM USER_VIEWS 
 SELECT * FROM ALL_VIEWS
 SELECT * FROM DBA_VIEWS

La colonne TEXT affiche la requête SQL générant le vue.

Vues temporairesModifier

Depuis la version 10g, il est possible de définir une vue temporaire à la volée au milieu d'un script :

Exemple :

 WITH PremieresLignes AS
 (
  SELECT id
  FROM client1
  WHERE id < 10
 )

 SELECT prenom, nom
 FROM PremieresLignes, client1
 WHERE PremieresLignes.id = client1.pl_id