El mar, 02-12-2008 a las 12:15 -0300, Cristian Carrasco escribió:
> Creo que ya encontré algo para partir:
>
>
> exec sql begin declare section;
>
> Const char *stmt = "CREATE TABLE test1(..);";
>
> exec sql end declare section;
>
> exec sql execute immediate :stmt;
>
> veamos como me va...
>
> Atte.
> Cristián J. Carrasco Gómez
Tal vez esta función sencilla te sirva de ejemplo
CREATE OR REPLACE FUNCTION cant() RETURNS SETOF RECORD AS $$
DECLARE
lista RECORD;
lista1 RECORD;
registro RECORD;
BEGIN
FOR lista IN (SELECT tablename FROM pg_tables WHERE
schemaname='public' ORDER BY tablename) LOOP
FOR lista1 IN EXECUTE 'SELECT (COUNT(*))::integer AS total FROM ' ||
lista.tablename LOOP
SELECT lista.tablename::varchar, lista1.total::integer,
NOW()::date INTO registro;
RETURN NEXT registro;
END LOOP;
END LOOP;
RETURN;
END;
$$ LANGUAGE PLPGSQL;
SELECT * FROM cant() AS(tabla varchar, cantidad integer, fecha date);
>
> -----Mensaje original-----
> De: Javier Chávez B. [mailto:[EMAIL PROTECTED]
> Enviado el: Martes, 02 de Diciembre de 2008 12:11
> Para: Cristian Carrasco
> CC: [email protected]
> Asunto: Re: [pgsql-es-ayuda] query dimanica
>
> On Tue, Dec 2, 2008 at 3:08 PM, Cristian Carrasco
> <[EMAIL PROTECTED]> wrote:
> > Hola a todos nuevamente
> >
> > Alguien conoce como ejecutar querys dimánicas
> >
> MMmmm ?? como asi .. a que te refieres????
>
> slds.
>
> J.
> > Atte.
> >
> > Cristián J. Carrasco Gómez
> >
> >
>
>
>
--
TIP 8: explain analyze es tu amigo