Views sind eine Kernfunktionalität von SQL und vereinfachen es in vielen Fällen, SQL einfacher und effizienter zu gestarten. Views sind im Prinzip lediglich virtuelle Tabelle, die mit dem Ergebnis eines SQL-Statements gespeist werden.
Um eine View anzulegen, können Sie CREATE VIEW verwenden:
test=# \h CREATE VIEW Command: CREATE VIEW Description: define a new view Syntax: CREATE [ OR REPLACE ] [ TEMP | TEMPORARY ] VIEW name [ ( column_name [, ...] ) ] AS query
Die Syntax des Befehles ist sehr einfach und sollte den Benutzer vor keine großen Herausforderungen stellen.
Views eröffnen vielfältige Möglichkeiten. Stellen wir uns beispielsweise eine Tabelle vor, die Preise in D-Mark speichert:
test=# CREATE TABLE t_preis (id int4, name text, preis numeric(8, 2)); CREATE TABLE
Wollen wir die Preise in Euros sehen, könnten wir eine View definieren:
test=# CREATE VIEW v_euro AS SELECT id, name, preis / 1.95583 AS preis FROM t_preis; CREATE VIEW
Fügen wir nun einen Datensatz in die Tabelle t_preis ein:
test=# INSERT INTO t_preis VALUES (1, 'Whisky', '11.98'); INSERT 5929649 1
Die View sorgt dafür, dass wir den Preis in Euro retourniert bekommen:
test=# SELECT * FROM v_euro; id | name | preis ----+--------+-------------------- 1 | Whisky | 6.1252767367306975 (1 row)
Da die View nur eine Art virtuelle Tabelle ist, verändert sich klarerweise der Inhalt der View.
Views können sehr leicht und einfach mit DROP VIEW entfernt werden:
test=# \h DROP VIEW Command: DROP VIEW Description: remove a view Syntax: DROP VIEW name [, ...] [ CASCADE | RESTRICT ]
In der Praxis funktioniert das dann so:
test=# DROP VIEW v_euro; DROP VIEW