La commande CREATE VIEW permet de créer une vue. Une vue n'est pas matérialisée physiquement. Au lieu de cela, le système génère automatiquement une règle d'extraction query-rewrites pour prendre en charge les opérations d'extraction sur la vue. Les vues sont en lecture seule. Le système n'autorise pas les insertions, mises à jour ou suppressions sur une vue.
CREATE [OR REPLACE] VIEW <nom_vue> AS SELECT <requête>
| Entrée | Description |
|---|---|
| OR REPLACE | Si une vue de ce nom n'existe pas déjà, une nouvelle vue est créée, que l'expression OR REPLACE soit spécifiée ou non. Toutefois, si une vue de ce nom existe déjà, et que l'expression OR REPLACE est :
|
| <nom_vue> | Nom de la vue à créer. |
| <requête> | Requête SQL qui détermine les colonnes et les lignes de la vue. Pour plus d'informations, voir SELECT (pour extraire des lignes). |
| Sortie | Description |
|---|---|
| CREATE VIEW | La vue a été créée. |
| ERROR: Relation 'view' already exists | Il existe déjà une vue de ce nom dans la base de données. |
Vous devez être administrateur, propriétaire de la base de données ou du schéma ou votre compte doit disposer des droits Create View. Vous devez disposer des droits Select sur la table de base de la vue. Pour remplacer une vue, vous devez également disposer des droits Alter pour la vue ou la classe d'objet View.
MYDB.SCH1(USER)=> CREATE VIEW kinds AS
SELECT *
FROM films
WHERE kind = 'Comedy';
MYDB.SCH1(USER)=> SELECT * FROM kinds;
code | title | did | date_prod | kind | len
------+---------------------------+-----+------------+---------+--
C_701 | There's a Girl in my Soup | 107 | 1970-06-11 | Comedy |
01:36:00
UA502 | Bananas | 105 | 1971-07-13 | Comedy |
01:22:00
MYDB.SCH1(USER)=> CREATE OR REPLACE VIEW kinds AS
SELECT *
FROM films
WHERE kind = 'Action';