Re: Passing a table as parameter
От | Pavel Stehule |
---|---|
Тема | Re: Passing a table as parameter |
Дата | |
Msg-id | AANLkTi=rJ2ozyh0yv8A__2LJ=DSRet+gMudE=3ZZdrjJ@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Passing a table as parameter (Vibhor Kumar <vibhor.kumar@enterprisedb.com>) |
Ответы |
Re: Passing a table as parameter
|
Список | pgsql-general |
2011/3/21 Vibhor Kumar <vibhor.kumar@enterprisedb.com>: > > On Mar 21, 2011, at 11:13 PM, Jon Smark wrote: > >> >> Is there any way for a SQL or PL/pgSQL function to receive a table >> as parameter? As an illustration, consider the dummy example below. >> Note that functions get_from_data1 and get_from_data2 follow essentially >> the same pattern; it would be nice to define instead a single polymorphic >> function parameterised on the id and table. Is this possible? > > > Try Something like given below: > CREATE OR REPLACE FUNCTION tab_pass(text) returns setof numeric > as > $$ > DECLARE > rec record; > BEGIN > for rec in execute 'select empno from '||$1||' where id = 1' > LOOP > return next rec.empno; > END LOOP; > return next rec.empno; > END; > $$ language plpgsql; it can work too, but there is sql injection risk. Do newer 'SELECT ... FROM ' || tabname || ' ... Regards Pavel Stehule > > > Thanks & Regards, > Vibhor Kumar > EnterpriseDB Corporation > The Enterprise PostgreSQL Company > vibhor.kumar@enterprisedb.com > Blog:http://vibhork.blogspot.com > > > -- > Sent via pgsql-general mailing list (pgsql-general@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-general >
В списке pgsql-general по дате отправления: