CREATE VIEW view AS SELECT query |
nom d'une vue a créer.
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.
message retourné si la vue a été créée correctement.
erreur retournée si la vue existe déja dans la base.
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' |
CREATE VIEW vista AS SELECT 'Hello World'::text |
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]
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 |
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 :
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.
vérification de l'intégrité de la vue.
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.
[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. |