CREATE TABLE teste
(
tabela varchar(500),
total int8
);
CREATE OR REPLACE FUNCTION contagem() RETURNS text AS $BODY$
DECLARE
recTot RECORD;
sql TEXT;
BEGIN
FOR recTot IN SELECT relname,reltuples from pg_class tb INNER JOIN pg_namespace SCH ON TB.relnamespace = SCH.oid WHERE relname not like'pg%' and nspname='public' AND tb.relkind = 'r'::"char"
LOOP
EXECUTE 'ANALYZE '||recTot.relname;
sql:= 'INSERT INTO teste VALUES ('''||recTot.relname||''','||recTot.reltuples||')';
EXECUTE sql;
END LOOP;
RETURN 'Acabou!!';
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
bd=# select contagem();
contagem
----------
Acabou!!
(1 row)
bd=# select * from teste;
tabela | tot
---------------------------+-----
cine_enquete | 0
cine_enquete | 0
cine_enquete_reposta | 0
cine_enquete_alternativa | 0
categoria_esportiva | 10
noticia_foto | 19
cine_genero | 0
cine_sessao | 0
modalidade | 6
treino | 4
turma_aluno | 0
aluno | 0
comunicado_tipo | 0
comunicado_campo | 0
estado | 0
comunicado_envio | 0
É isso ai ...
Att:
Thiago Risso
_______________________________________________ Grupo de Usuários do PostgreSQL no Brasil Antes de perguntar consulte o manual http://pgdocptbr.sourceforge.net/
Para editar suas opções ou sair da lista acesse a página da lista em: http://pgfoundry.org/mailman/listinfo/brasil-usuarios
