Database Reference
In-Depth Information
Views
Wäre es nicht schön, wenn wir das Ergebnis einer komplexen Query so nut-
zen könnten wie jede andere Tabelle? Nun, genau dafür sind VIEW sgedacht.
Im Gegensatz zu Stored Procedures handelt es sich dabei nicht um auszu-
führende Funktionen, sondern um Aliase für Queries.
In unserer Datenbank enthalten alle Feiertage das Wort Day und es gibt kei-
nen Veranstaltungsort.
postgres/holiday_view_1.sql
CREATE VIEW holidays AS
SELECT event _ id AS holiday _ id, title AS name, starts AS date
FROM events
WHERE title LIKE '%Day%' AND venue _ id IS NULL;
Um also einen View zu erzeugen, müssen Sie nur eine Query schreiben und
ihr ein CREATE VIEW view _ name AS voranstellen. Nun können Sie holidays
wie jede andere Tabelle abfragen. Hinter den Kulissen werkelt die gute al-
te events -Tabelle. Zum Beweis fügen Sie den Valentinstag am 14.2.2012 in
events ein und fragen dann den holidays -View ab.
SELECT name, to _ char( date , 'Month DD, YYYY' ) AS date
FROM holidays
WHERE date <= '2012-04-01' ;
name | date
-----------------+--------------------
April Fools Day | April 01, 2012
Valentine's Day | February 14, 2012
Views sind ein mächtiges Werkzeug, um auf einfache Weise auf komplex ab-
gefragte Daten zugreifen zu können. Die dahinterstehende Query kann noch
so kompliziert sein, Sie sehen nur eine Tabelle.
Soll eine neue Spalte in den View eingefügt werden, muss das in der zugrun-
deliegenden Tabelle geschehen. Lassen Sie uns die events -Tabelle um ein
Array mit assoziierten Farben erweitern.
ALTER TABLE events
ADD colors text ARRAY;
Da die Farben auch in holidays auftauchen sollen, müssen wir die VIEW -
Query um das colors -Array ergänzen.
CREATE OR REPLACE VIEW holidays AS
SELECT event _ id AS holiday _ id, title AS name, starts AS date , colors
FROM events
WHERE title LIKE '%Day%' AND venue _ id IS NULL;
 
Search WWH ::




Custom Search