Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

Dynamisches Select Statement in Funktion



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




Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group