Zum Inhalt springen

CREATE VIEW-Anweisung

Die CREATE VIEW-Anweisung definiert eine neue Sicht im Katalog.

Beispiele

Eine einfache Sicht anlegen:

CREATE VIEW view1 AS SELECT * FROM tbl;

Eine Sicht anlegen oder ersetzen, falls bereits eine Sicht mit diesem Namen existiert:

CREATE OR REPLACE VIEW view1 AS SELECT 42;

Eine Sicht anlegen und die Spaltennamen ersetzen:

CREATE VIEW view1(a) AS SELECT 42;

Die SQL-Abfrage hinter einer vorhandenen Sicht kann mit der Funktion duckdb_views() wie folgt gelesen werden:

SELECT sql FROM duckdb_views() WHERE view_name = 'view1';

Syntax

CREATE VIEW definiert eine Sicht über eine Abfrage. Die Sicht wird nicht physisch materialisiert. Stattdessen wird die Abfrage jedes Mal ausgeführt, wenn die Sicht in einer Abfrage referenziert wird.

CREATE OR REPLACE VIEW ist ähnlich, ersetzt aber eine bereits vorhandene Sicht gleichen Namens.

Wenn ein Schemaname angegeben wird, wird die Sicht im angegebenen Schema angelegt. Andernfalls wird sie im aktuellen Schema angelegt. Temporäre Sichten existieren in einem besonderen Schema, daher kann beim Anlegen einer temporären Sicht kein Schemaname angegeben werden. Der Name der Sicht muss sich vom Namen jeder anderen Sicht oder Tabelle im selben Schema unterscheiden.