select from (tabla dinamica)

From: Lucas Hernandez <lucashdz(at)gmail(dot)com>
To: Ayuda Postgres <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: select from (tabla dinamica)
Date: 2005-06-15 12:53:53
Message-ID: 42B024E1.3040403@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hace dias traté de exponer lo siguiente y me parece no supe explicarme..

quiero seleccionar todos los nombres de las tablas de pg_tables que
tienen como parte eval..
eso lo hago fácilmente con el siguiente query

select tablename from pg_tables where tablename like 'eval%'
Resultado
"evaluation"
"evaluationentidad"
"evaluationmodel"
"evaluationmodelevallist"
"evaluatorlist"
"evaluatorfunctions"

Mi pregunta es..
Como puedo obtener la cantidad de records que tiene cada tabla sin
necesidad de hacer un query por cada tabla?
select count(*) from tbevaluationentity .... es decir poner el nombre
de las tablas en una variable... y despues hacer un loop algo como --
select count(*) from $tablename

He creado una funcion que hace un loop.. no me presenta ningun error
pero necesito ver los resultados ya que la funcion simplemente returna un 1

CREATE OR REPLACE FUNCTION test(nombres char)
RETURNS int4 AS
$BODY$
declare
row record;
begin
for row in select * from pg_tables where tablename like '$nombres'
loop
select count(*) from row.tablename;
end loop;
return 1;
end;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;

Agradezco su contribucion.. y, acepto regaños..

Lucas

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Rosa Joyce Gamarra Luque 2005-06-15 13:00:01 Modelo depende de Marca?
Previous Message Leonardo Boet Sánchez 2005-06-15 12:00:27 RE: Hola buenos Dias? Es pecado pedir ayuda?