Obrigado a todos !!! Vou testar !!
André Pignata escreveu: > Vlw ;) > > 2009/8/31 Fabrízio de Royes Mello <fabriziome...@gmail.com > <mailto:fabriziome...@gmail.com>> > > > > 2009/8/31 André Pignata <andrepign...@gmail.com > <mailto:andrepign...@gmail.com>> > > > CREATE OR REPLACE FUNCTION "migracao"."limpa_tabela" () > RETURNS boolean AS > $body$ > /* New function body */ > declare > rmsg record; > retorno boolean; > begin > retorno := true; > for rmsg in (select distinct pg_tables.tablename as > tabela from > pg_tables > ,pg_class > ,pg_namespace > where > pg_namespace.nspname = 'public' > and pg_tables.schemaname = pg_namespace.nspname > and pg_class.relname = pg_tables.tablename > and pg_class.relnamespace = pg_namespace.oid > ) loop > BEGIN > EXECUTE('delete from '||rmsg.tabela); > EXCEPTION > when integrity_constraint_violation then > retorno := false; > > end; > end loop; > return retorno; > > end; > $body$ > LANGUAGE 'plpgsql' VOLATILE RETURNS NULL ON NULL INPUT > SECURITY INVOKER; > > <corte> > > > André, > > Só uma dica, eu recomendo você utilizar o "information_schema" [1] > para obter informações do catálogo, trocando a query... > > > select distinct pg_tables.tablename as tabela from > pg_tables > ,pg_class > ,pg_namespace > where > pg_namespace.nspname = 'public' > and pg_tables.schemaname = pg_namespace.nspname > and pg_class.relname = pg_tables.tablename > and pg_class.relnamespace = pg_namespace.oid > > ...por simplesmente: > > select table_name as tabela > from information_schema.tables > where table_schema = 'public'; > > > > [1] > http://www.postgresql.org/docs/current/static/information-schema.html > _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral