| PostgreSQL: Das Offizielle Handbuch | ||||
|---|---|---|---|---|
| Zurück | Schnell zurück | Schnell nach vorne | Nach vorne | |
CREATE VIEW definiert eine Sicht einer Anfrage. Die Sicht wird nicht materialisiert. Stattdessen wird die Anfrage jedes Mal ausgeführt, wenn die Sicht in einer Anfrage verwendet wird.
CREATE OR REPLACE VIEW ist ähnlich, aber wenn eine Sicht mit dem selben Namen schon existiert, dann wird sie ersetzt. Sie können eine Sicht nur durch eine neue Anfrage ersetzen, die identische Spalten ergibt (d.h. gleiche Spaltennamen und Datentypen).
Wenn ein Schemaname angegeben wurde (zum Beispiel CREATE VIEW mein_schema.meine_sicht ...), dann wird die Sicht im angegeben Schema erzeugt, ansonsten wird sie im aktuellen Schema erzeugt. Der Sichtname muss sich von den Namen aller Sichten, Tabellen, Sequenzen und Indexe im selben Schema unterscheiden.
Der Name der zu erzeugenden Sicht (möglicherweise mit Schemaqualifikation).
Namen für die Spalten der Sicht. Wenn keine angegeben werden, dann werden die Spaltennamen aus der Anfrage ermittelt.
Eine Anfrage (das heißt ein SELECT-Befehl), die die Spalten und Zeilen für die Sicht ermittelt.
Weitere Informationen über gültige Anfragen erhalten Sie unter SELECT.
Meldung, wenn die Sicht erfolgreich erzeugt wurde.
Die Sicht wird mit einer Spalte mit unbekanntem Typ erzeugt, wenn Sie den Typ nicht angegeben. Folgender Befehl verursacht zum Beispiel diese Warnung:
CREATE VIEW vista AS SELECT 'Hallo Welt'
Aber dieser Befehl nicht:
CREATE VIEW vista AS SELECT text 'Hallo Welt'
Gegenwärtig sind Sichten nicht aktualisierbar: Versuche, in der Sicht einzufügen, zu aktualisieren oder zu löschen, werden vom System abgelehnt. Den Effekt von aktualisierbaren Sichten können Sie mit Regeln erreichen, die die Aktualisierungsbefehle usw. in die entsprechenden Aktionen in anderen Tabellen umschreiben. Weitere Informationen dazu finden Sie unter CREATE RULE.
Erzeuge eine Sicht mit allen Comedy-Filmen:
CREATE VIEW comedys AS
SELECT *
FROM filme
WHERE genre = 'Comedy';
Der SQL-Standard sieht für den Befehl CREATE VIEW weitere Funktionalität vor:
CREATE VIEW name [ ( spalte [, ...] ) ]
AS anfrage
[ WITH [ CASCADE | LOCAL ] CHECK OPTION ]
Die optionalen Klauseln für den vollen SQL-Befehl sind:
Diese Option hat mit aktualisierbaren Sichten zu tun. Mit dieser Option werden alle INSERT- und UPDATE-Befehle in der Sicht geprüft, ob sie die Bedingungen, die die Sicht definiert, erfüllen (das heißt, dass die neuen Daten durch die Sicht sichtbar wären). Wenn nicht, dann wird die Aktualisierung abgelehnt.
Prüft die Integrität für diese Sicht.
Prüft die Integrität für diese Sicht und alle abhängigen Sichten. Wenn weder CASCADE noch LOCAL angegeben sind, dann wird CASCADE angenommen.
Die Form CREATE OR REPLACE VIEW ist eine PostgreSQL-Erweiterung.
| Zurück | Zum Anfang | Nach vorne |
| CREATE USER | Nach oben | DEALLOCATE |