dynamic function question

Поиск
Список
Период
Сортировка
От Chris Ochs
Тема dynamic function question
Дата
Msg-id 064701c44a7c$3ec36750$250a8b0a@chris
обсуждение исходный текст
Ответы Re: dynamic function question  (Stephan Szabo <sszabo@megazone.bigpanda.com>)
Список pgsql-general
I read the docs but I'm still a little lost as to how to do this.

I have this function which works fine.

CREATE OR REPLACE FUNCTION lookup_customer_byemail(varchar) RETURNS SETOF
customer_rec AS
'
DECLARE
   r RECORD;
   in_email ALIAS FOR $1;
BEGIN
   FOR r IN SELECT
s_oid,mer_id,site_id,order_id,pymt_type,pymt_subtype,comp_name,f_name1,l_nam
e1,f_name2,l_name2,address,city,state
,zipcode,phone,cust_email,country from customers where cust_email ILIKE
in_email LOOP
   RETURN NEXT r;
   END LOOP;
   RETURN;
END '
LANGUAGE 'plpgsql';


What I would like to do is pass in the column name that is being queried
against (cust_email) so it can be dynamic.   I tried the following but it
always returns an empty set.

CREATE OR REPLACE FUNCTION lookup_customer(varchar,varchar) RETURNS SETOF
customer_rec AS
'
DECLARE
   r RECORD;
   in_string ALIAS FOR $1;
   in_column ALIAS FOR $2;
BEGIN
   FOR r IN SELECT
s_oid,mer_id,site_id,order_id,pymt_type,pymt_subtype,comp_name,f_name1,l_nam
e1,f_name2,l_name2,address,city,state
,zipcode,phone,cust_email,country from customers where in_column ILIKE
in_string LOOP
   RETURN NEXT r;
   END LOOP;
   RETURN;
END '
LANGUAGE 'plpgsql';


В списке pgsql-general по дате отправления:

Предыдущее
От: Jan Wieck
Дата:
Сообщение: Re: [HACKERS] Slony-I goes BETA
Следующее
От: Bruce Momjian
Дата:
Сообщение: Re: Building Thread-Safe on OS X