CREATE VIEW

Nom

CREATE VIEW — construit une table virtuelle.
CREATE VIEW view
    AS SELECT query
  

Entrées

view

nom d'une vue a créer.

query

Requête SQL qui fournit les colonnes et les lignes de la vue.

Voir la clause SELECT pour plus d'information sur les arguments valides.

Sorties

CREATE

message retourné si la vue a été créée correctement.

ERROR: Relation 'view' already exists

erreur retournée si la vue existe déja dans la base.

NOTICE create: attribute named "column" has an unknown type

la vue sera créée en ayant une colonne de type inconnu si vous ne la spécifiez pas. Par exemple, la commande suivante génère une erreur :
CREATE VIEW vista AS SELECT 'Hello World'
	
puisque cette commande n'indique pas :
CREATE VIEW vista AS SELECT 'Hello World'::text
	

Description

CREATE VIEW définira une vue d'une table. Cette vue n'est pas matérialisée physiquement. De façon spécifique, une requête rewrite retrieve rule est automatiquement générée pour supporter les opérations de recouvrement dans les vues. [1]

Notes

Utilisez la clause DROP VIEW pour supprimer les vues.

Bugs

Couramment, les vues sont en lecture seulement.

Utilisation

Créons une vue concernant tous les films de comédie :
CREATE VIEW kinds AS
    SELECT *
    FROM films
    WHERE kind = 'Comedy';

SELECT * FROM kinds;

code |title                    |did| date_prod|kind      |len
-----+-------------------------+---+----------+----------+------
UA502|Bananas                  |105|1971-07-13|Comedy    | 01:22
C_701|There's a Girl in my Soup|107|1970-06-11|Comedy    | 01:36
   

Compatibilité

SQL92

SQL92 spécifie quelques possibilités supplémentaires pour la clause CREATE VIEW :

CREATE VIEW view [ column [, ...] ]
    AS SELECT expression [ AS colname ] [, ...]
    FROM table [ WHERE condition ]
    [ WITH [ CASCADE | LOCAL ] CHECK OPTION ]
   

Les clauses optionnelles pour les commandes SQL92 sont :

CHECK OPTION

Cette option fonctionne avec les vues pouvant être mises à jour. Tous les INSERT et UPDATE sur la vue seront vérifiés pour s'assurer que les données satisfont les conditions définissant la vue. Si ce n'est pas le cas, la mise à jour sera rejetée.

LOCAL

vérification de l'intégrité de la vue.

CASCADE

vérification de l'intégrité de la vue et de chaque vue dépendante. CASCADE est supposé si ni CASCADE ni LOCAL ne sont spécifiés.

Notes

[1]

NdT. Une vue représente une ou plusieurs tables virtuelles dont le schéma et le contenu sont dérivés de la base réelle par un ensemble de questions.