Oracle Database/Vues

Un livre de Wikilivres.

Principe[modifier | modifier le wikicode]

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 vue[modifier | modifier le wikicode]

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 vue[modifier | modifier le wikicode]

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 vues[modifier | modifier le wikicode]

 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 temporaires[modifier | modifier le wikicode]

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