Senhores, boa tarde!
Elaborei aqui rapidinho, veja se ajuda:
DO $$
DECLARE
tabela VARCHAR;
maiordata TIMESTAMP WITHOUT TIME ZONE;
BEGIN
FOR tabela IN SELECT pg_tables.tablename
FROM pg_tables
WHERE pg_tables.schemaname='public' AND
pg_tables.tablename LOOP
EXECUTE 'SELECT max(data) FROM '||tabela INTO
maiordata;
RAISE NOTICE '% - %',tabela,maiordata;
END LOOP;
END
$$;
[]s
2015-10-27 14:32 GMT-02:00 Alessandro Lima <[email protected]>:
> Este SQL gera dinamicamente o select desejado:
>
> SELECT 'SELECT MAX(data) AS maior_data FROM ('||array_to_string(array(
> SELECT 'SELECT max('||column_name||') AS data FROM '||table_name
> FROM information_schema.columns
> WHERE table_schema = 'public'
> AND column_name = 'data'
> ),' union ')||') as t' AS selects;
>
>
> Atenciosamente,
> Alessandro Lima
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
--
JotaComm
http://jotacomm.wordpress.com
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral