plpgsql: return results of a dynamic query

From: "Moritz Lennert" <mlennert(at)club(dot)worldonline(dot)be>
To: pgsql-sql(at)postgresql(dot)org
Subject: plpgsql: return results of a dynamic query
Date: 2003-01-29 09:21:20
Message-ID: 51767.164.15.128.4.1043832080.squirrel@http://moritz.homelinux.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Hello,

I'am a complete newbie to plpgsql, so if this information is explained
somewhere where I haven't looked, yet, please point me to the doc... (I
didn't find the answer in the PostgreSQL Programmer's Guide.)

I use PG 7.3.1.

I'm trying to retrieve a row count from several tables (40) and would like
to create a function that does this automatically for the 40 and displays
the results. So, I loop through the tables:

DECLARE
obj RECORD;
BEGIN
FOR obj IN SELECT relname AS name FROM pg_class
WHERE relkind IN ('r')
AND relname like '%_random' AND relname != 'tout_random'
LOOP

then I need to do the select count for each table in the lines of

SELECT count(t1.id) AS total FROM || obj.name || AS t1 JOIN tout_random
AS t2 ON t1.id=t2.id WHERE t2.ok=TRUE;

and return the result of each of these select counts.

Could someone indicate how to return the results of these queries ?
Am I right that in order to do this dynamic query, I have to use an
EXECUTE statement ? Can I return the results of an EXECUTE statement ?

Thanks,
Moritz

Browse pgsql-sql by date

  From Date Subject
Next Message Gary Stainburn 2003-01-29 10:04:48 Re: CSV import
Previous Message David Durst 2003-01-29 09:17:51 Re: LONG - Question on dealing w/ numerics