Utilice el comando CREATE MATERIALIZED VIEW para crear o sustituir una vista materializada, ordenada y proyectada de un subconjunto de columnas de la tabla base. Cada tipo de vista proyecta un subconjunto de columnas de la tabla base y se ordena en función de un conjunto específico de columnas de tabla base. El sistema almacena la vista de forma persistente, que se puede visualizar si se emite el comando \dm.
CREATE [OR REPLACE] MATERIALIZED VIEW <viewname> AS SELECT <col>[,<col>…]
FROM <table> [ORDER BY <order_col>[,<order_col>…]];
El comando CREATE MATERIALIZED VIEW toma las siguientes entradas:
| Entrada | Descripción |
|---|---|
| OR REPLACE | Sustituya una vista materializada existente. Utilice esta opción para reconstruir una vista después de cambiar su tabla base de alguna forma o después de cambiar el nombre de la base de datos. |
| <viewname> | Nombre de la vista materializada que se quiere crear. |
| <col> | La columna o las columnas que comprenden esta vista. Se pueden especificar hasta 64 columnas. |
| <table> | Tabla desde la que se crea la vista. |
| <order_col> | Columna o columnas en función de las que se va a ordenar. |
El comando CREATE MATERIALIZED VIEW tiene las siguientes salidas:
| Salida | Descripción |
|---|---|
| CREATE MATERIALIZED VIEW | El comando se ha ejecutado correctamente. |
| ERROR: Relation 'view' already exists. | En la base de datos ya existe una vista con el nombre especificado: |
Es necesario ser el usuario administrativo o el propietario de la base de datos o del esquema en el que está definida la vista materializada, o la cuenta debe tener el privilegio Create Materialized View. Si se especifica la opción OR REPLACE, también es necesario tener el privilegio Alter para la vista materializada o para la clase de objeto Materialized View.
MYDB.SCH1(USER)=> CREATE MATERIALIZED VIEW kinds AS SELECT t1 FROM
emp ORDER BY name;