Views

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



http://www.postgresql.at