Re: Passing a table as parameter - Mailing list pgsql-general

From Pavel Stehule
Subject Re: Passing a table as parameter
Date
Msg-id AANLkTi=rJ2ozyh0yv8A__2LJ=DSRet+gMudE=3ZZdrjJ@mail.gmail.com
Whole thread Raw
In response to Re: Passing a table as parameter  (Vibhor Kumar <vibhor.kumar@enterprisedb.com>)
Responses Re: Passing a table as parameter  (Vibhor Kumar <vibhor.kumar@enterprisedb.com>)
List 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 by date:

Previous
From: Vibhor Kumar
Date:
Subject: Re: Passing a table as parameter
Next
From: Aljoša Mohorović
Date:
Subject: Re: postgres conferences missing videos?