Re: IF ELSEIF Funktion in PL/pgSQL erstellen
Gunnar Nick Bluth <[email protected]> Wed, 15 Jan 2014 13:31:20 +0100
| Newsgroups | gmane.comp.db.postgresql.german |
|---|---|
| Message-ID | <[email protected]> |
Na ja, deine neue View sollte sich natürlich auf die Tabelle beziehen, nicht auf sich selbst ;-) Gruß/Best regards, Gunnar "Nick" Bluth Sent from my mobile [email protected] +49-172-8853339 Am 15.01.2014 13:06 schrieb Gunnar Oehmichen <[email protected]>: > > Hallöchen Nick und Liste, > > erstmal Danke für die Antworten, war sehr hilfreich. > > nach anderer Arbeit und den Ferien mich jetzt mal wieder dem hier gewidmet. > > Ich habe also ausgeführt (auf das Beispiel und den View um den es mir > eigentlich geht): > > CREATE OR REPLACE VIEW taxons AS ( > SELECT *, (case when taxon_name ~ 'sp.$' then > case when genus ~ 'idae$' then 'Familie' > else 'Gattung' > end > else 'Art' > end) AS taxon_level > FROM taxons); > > @Nick, deine Version funktioniert als Abfrage mit dem kleinen > Beispielview jedoch nicht mit dem View um den es eigentlich geht (den > ich euch der einfachheit halber natürlich vorenthalten habe). > > gunnar=# SELECT * from taxons; > > family | genus | taxon_name | taxon_level > -------------+-------------+----------------------+------------- > SPHAERIIDAE | Pisidium | Pisidium personatum | Art > SPHAERIIDAE | Pisidium | Pisidium sp. | Gattung > SPHAERIIDAE | Sphaeriidae | Sphaeriidae Gen. sp. | Familie > (3 rows) > > Bei meinem eigentlichen View dagegen: > > ERROR: infinite recursion detected in rules for relation "taxons_points" > > > ********** Fehler ********** > > ERROR: infinite recursion detected in rules for relation "taxons_points" > SQL Status:42P17 > > Könnt ihr mir weiterhelfen? > > Herzlichen Dank, > > Gunnar > > > > > bluthg=# create or replace view tax_view as (select *, > > case when taxon_name ~ 'sp.$' then > > case when genus ~ 'idae$' then 'Familie' > > else 'Gattung' > > end > > else 'Art' > > end > > from taxons > > ); > > CREATE VIEW > > Zeit: 29,059 ms > > bluthg=# SELECT * from tax_view ; > > +-------------+-------------+----------------------+---------+ > > | family | genus | taxon_name | case | > > +-------------+-------------+----------------------+---------+ > > | SPHAERIIDAE | Pisidium | Pisidium personatum | Art | > > | SPHAERIIDAE | Pisidium | Pisidium sp. | Gattung | > > | SPHAERIIDAE | Sphaeriidae | Sphaeriidae Gen. sp. | Familie | > > +-------------+-------------+----------------------+---------+ > > (3 Zeilen) > > > -- > Gunnar Oehmichen > Quantitative Landscape Ecology > Institute for Environmental Sciences > University Koblenz-Landau > Fortstrasse 7 > 76829 Landau > Germany > http://www.uni-koblenz-landau.de/landau/fb7/umweltwissenschaften/landscape-ecology/Staff/gunnaroehmichen > > > -- > Sent via pgsql-de-allgemein mailing list ([email protected]) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-de-allgemein -- Sent via pgsql-de-allgemein mailing list ([email protected]) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-de-allgemein