« Übersicht: Manage PostgreSQL

Views

../../_images/tassen.jpg

« Übersicht: Manage PostgreSQL

Wiederholungen sind bei der Abfrage und Pflege von Datenbeständen unvermeidlich. Die Routine kann zumindest teilweise in Views, Triggern und Prozeduren konserviert werden. Die spätere Arbeitsersparnis sollte den Aufwand der Erstellung wieder wett machen.

View zur Auflistung aller Views definieren

Für diese Ausgabe kann ein eigener View erstellt werden:

create or replace view show_views as
select table_name from INFORMATION_SCHEMA.views
WHERE table_schema = ANY (current_schemas(false));

Alle Views anzeigen

Vor der Verwendung den view show_views erstellen (siehe oben)!

select * from show_views;

View für die Anzeige aller Landkreise aus der Relation gewaesser

create or replace view landkreis_liste as
(select distinct g.kuerzel_lk as "Landkreis (kurz)",
l.landkreis as "Landkreis (lang)"
from gewaesser as g right outer join landkreise as l
on l.kuerzel_lk = g.kuerzel_lk order by g.kuerzel_lk);

select * from landkreis_liste;

Definition zum view zeigen

-- allgemein definiert

\d+ <view-name>

-- oben definierter view landkreis_liste

\d+ landkreis_liste

-- Ausgabe

                      View "public.landkreis_liste"
      Column      |         Type          | Modifiers | Storage  | Description
------------------+-----------------------+-----------+----------+-------------
Landkreis (kurz) | character varying(3)  |           | extended |
Landkreis (lang) | character varying(30) |           | extended |
View definition:
  SELECT DISTINCT g.kuerzel_lk AS "Landkreis (kurz)",
   l.landkreis AS "Landkreis (lang)"
  FROM gewaesser g
    RIGHT JOIN landkreise l ON l.kuerzel_lk::text = g.kuerzel_lk::text
 ORDER BY g.kuerzel_lk;