dynamic function question
От | Chris Ochs |
---|---|
Тема | dynamic function question |
Дата | |
Msg-id | 064701c44a7c$3ec36750$250a8b0a@chris обсуждение исходный текст |
Ответы |
Re: dynamic function question
|
Список | 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 по дате отправления: