La commande CREATE MATERIALIZED VIEW permet de créer ou de remplacer une vue triée, projetée, matérialisée d'un sous-ensemble des colonnes des tables de base. Chacun de ces types de vue projette un sous-ensemble des colonnes de table de base et est trié en fonction d'un ensemble spécifique de colonnes de table de base. Le système stocke en permanence la vue. Elle peut être affichée à l'aide de la commande \dm.
CREATE [OR REPLACE] MATERIALIZED VIEW <nom_vue> AS SELECT
<col>[,<col>…]
FROM <table> [ORDER BY <col_tri>[,<col_tri>…]];
La commande CREATE MATERIALIZED VIEW accepte les entrées suivantes :
| Entrée | Description |
|---|---|
| OR REPLACE | Remplace une vue matérialisée existante. Utilisez cette option pour régénérer une vue une fois que sa table de base a été modifiée d'une manière ou d'une autre ou une fois que vous avez renommé une base de données. |
| <nom_vue> | Nom de la vue matérialisée à créer. |
| <col> | La ou les colonnes qui constituent la vue. Vous pouvez spécifier jusqu'à 64 colonnes. |
| <table> | Table à partir de laquelle la vue est créée. |
| <col_tri> | La ou les colonnes de tri. |
La commande CREATE MATERIALIZED VIEW génère les sorties suivantes :
| Sortie | Description |
|---|---|
| CREATE MATERIALIZED VIEW | La commande a abouti. |
| ERROR: Relation 'view' already exists. | Il existe déjà une vue de ce nom dans la base de données. |
Vous devez être administrateur ou propriétaire de la base de données ou du schéma où la vue matérialisée est définie ou votre compte doit disposer des droits Create Materialized View. Si vous spécifiez l'option OR REPLACE, vous devez également disposer des droits Alter pour la vue matérialisée ou la classe d'objet Materialized View.
MYDB.SCH1(USER)=> CREATE MATERIALIZED VIEW kinds AS SELECT t1 FROM
emp ORDER BY name;