Search Postgresql Archives

Re: Returns setof record PG/PLSQL

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, 2005-08-14 at 18:56 -0400, John Wells wrote:
> In my quest to create a function that counts rows for all user tables in
> the database, I've written the following:

Based on another example I've found, I've tried the two following
variations (to no avail).  Getting "ERROR:  wrong record type supplied
in RETURN NEXT" on both counts:

-- Variation 1 ----------------------------------------------
drop function generate_table_count ();
create TYPE rowcounts_t as (name TEXT, count int);
create or replace function generate_table_count () returns setof
rowcounts_t as '
declare   
  tname record;
  count record;
  table text;
begin
	for tname in select table_name from information_schema.tables 
               where table_schema = ''public'' loop
		for count in execute ''select ''''''  || 
        quote_ident(tname.table_name)::text || 
        '''''' as name, count(*)  from '' || 
        quote_ident(tname.table_name) loop			                 		
			return next count;
		end loop;
	end loop;
	return;
end;
' language plpgsql;
-- Variation 2 ----------------------------------------------
drop function generate_table_count ();
create TYPE rowcounts_t as (name TEXT, count TEXT);
create or replace function generate_table_count () returns setof
rowcounts_t as '
declare   
  tname record;
  count record;
  table text;
begin
	for tname in select table_name from information_schema.tables 
               where table_schema = ''public'' loop
		for count in execute ''select ''''''  || 
        quote_ident(tname.table_name)::text || 
        '''''' as name, count(*)::text  from '' || 
        quote_ident(tname.table_name) loop			                 		
			return next count;
		end loop;
	end loop;
	return;
end;
' language plpgsql;
--

Still struggling....any insight you might have is very much appreciated.
Thanks,
John



---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux