Re: selecting table at execution with PL/PgSQL - Mailing list pgsql-general

From Gianni Mariani
Subject Re: selecting table at execution with PL/PgSQL
Date
Msg-id 3F905A7E.2020608@mariani.ws
Whole thread Raw
In response to selecting table at execution with PL/PgSQL  ("Bill Nedell" <bill@wynde.com>)
List 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.

http://www.postgresql.org/docs/7.3/static/plpgsql-statements.html#PLPGSQL-STATEMENTS-EXECUTING-DYN-QUERIES


pgsql-general by date:

Previous
From: "Joshua D. Drake"
Date:
Subject: Writers Wanted
Next
From: Greg Stark
Date:
Subject: Re: ShmemAlloc errors