From: | Gianni Mariani <gianni(at)mariani(dot)ws> |
---|---|
To: | Bill Nedell <bill(at)wynde(dot)com>, pgsql-general(at)postgresql(dot)org |
Subject: | Re: selecting table at execution with PL/PgSQL |
Date: | 2003-10-17 21:09:18 |
Message-ID: | 3F905A7E.2020608@mariani.ws |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Bill Nedell wrote:
> I am trying to write a PL/PgSQL function that can be given a table
> name as an argument at execution time and I don't see any way of doing
> it. I want the user to be able to specify the table dynamically when
> the function is run.
>
> As an example, if I try the following:
>
> CREATE OR REPLACE FUNCTION scrub() RETURNS VARCHAR AS '
> DECLARE
> tl pg_tables%ROWTYPE;
> BEGIN
> FOR tl IN SELECT * FROM pg_tables LOOP
> RAISE INFO ''table %'', tl.tablename;
> SELECT * FROM tl.tablename;
Try EXECUTE 'SELECT ....
where the execute parameter is created by assembling the select
statement string.
It's all in the documentation.
From | Date | Subject | |
---|---|---|---|
Next Message | elein | 2003-10-17 21:24:44 | Re: [GENERAL] Writers Wanted |
Previous Message | Oksana Yasynska | 2003-10-17 20:59:58 | plpgsql: return multiple result sets |