From: | Marc Hanisch <marc(dot)hanisch(at)ateam(dot)de> |
---|---|
To: | pgsql-de-allgemein(at)postgresql(dot)org |
Subject: | Dynamisches Select Statement in Funktion |
Date: | 2008-03-12 08:01:03 |
Message-ID: | 47D78DBF.2070608@ateam.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-de-allgemein |
Hallo,
ich habe eine Funktion geschrieben, die, je nach Argument welches sie
übergeben bekommt, eine Abfrage generiert. Bsp.:
CREATE OR REPLACE FUNCTION reference(char, char) RETURNS char
AS 'SELECT substring($1 from ''[(].+,(.+)[)]'') FROM substring($1 from
''(.+)[(].+[)]'') WHERE substring($1 from ''[(](.+),.+[)]'') = $2'
LANGUAGE SQL
RETURNS NULL ON NULL INPUT;
Die Funktion wird wie folgt aufgerufen:
SELECT reference('schema.tabelle(id_row,name_row)', 1);
Innerhalb der Funktion wird also folgende Abfrage erstellt:
SELECT name_row FROM schema.tabelle WHERE id_row = 1;
Allerdings funktioniert dies nicht wie angedacht, da PostgreSQL name_row
als String interpretiert, nicht als Spalte. Gibt es hierfür einen
Workaround, oder laufe ich da generell in die falsche Richtung?
Danke für eure Hilfe,
Marc
From | Date | Subject | |
---|---|---|---|
Next Message | A. Kretschmer | 2008-03-12 10:54:06 | Re: Dynamisches Select Statement in Funktion |
Previous Message | Olaf Radicke | 2008-03-11 21:13:16 | Themawechsel: Test-Account/-Datenbank |