Mit dem CREATE MATERIALIZED VIEW-Befehl können Sie eine sortierte und projizierte materialisierte Ansicht eines Subsets der Basistabellenspalten erstellen oder ersetzen. Bei jedem dieser Ansichtstypen wird ein Subset der Basistabellenspalten projiziert und die Ansicht wird anhand eines bestimmten Sets der Basistabellenspalten sortiert. Die Ansicht wird vom System permanent gespeichert. Sie kann durch Absetzen des \dm-Befehls angezeigt werden.
CREATE [OR REPLACE] MATERIALIZED VIEW <Ansichtsname> AS SELECT <Spalte>[,<Spalte>…]
FROM <table> [ORDER BY <Sortierspalte>[,<Sortierspalte>…]];
Der CREATE MATERIALIZED VIEW-Befehl akzeptiert folgende Eingaben:
| Eingabe | Beschreibung |
|---|---|
| OR REPLACE | Vorhandene materialisierte Ansicht ersetzen. Mit dieser Option können Sie eine Ansicht erneut erstellen, nachdem an ihrer Basistabelle Änderungen vorgenommen wurden oder nachdem Sie eine Datenbank umbenannt haben. |
| <Ansichtsname> | Der Name der zu erstellenden materialisierten Ansicht. |
| <Spalte> | Die Spalte(n), aus der/denen diese Ansicht besteht. Sie können bis zu 64 Spalten angeben. |
| <Tabelle> | Die Tabelle, anhand derer die Ansicht erstellt wird. |
| <Sortierspalte> | Mindestens eine Spalte, nach der sortiert wird. |
Der CREATE MATERIALIZED VIEW-Befehl hat die folgenden Ausgaben:
| Ausgabe | Beschreibung |
|---|---|
| CREATE MATERIALIZED VIEW | Der Befehl war erfolgreich. |
| ERROR: Relation 'Ansicht' already exists. | Eine Ansicht mit dem angegebenen Namen ist in der Datenbank bereits vorhanden. |
Sie müssen der Benutzer mit Administratorberechtigung oder der Eigner der Datenbank oder des Schemas sein, in der/dem die materialisierte Ansicht definiert ist, oder Ihr Konto muss über die Berechtigung zum Erstellen von materialisierten Ansichten verfügen. Bei Angabe der Option OR REPLACE müssen Sie auch über Änderungsberechtigung für die materialisierte Ansicht oder für die Objektklasse für materialisierte Ansichten verügen.
MYDB.SCH1(USER)=> CREATE MATERIALIZED VIEW kinds AS SELECT t1 FROM
emp ORDER BY name;