Marcelo Magno escreveu: > Boa Tarde, > > Estou fazendo uns testes com tabelas temporarias mas estou tendo alguns > problemas... > > considere o seguinte codigo plpgsql como exemplo: > > create temporary table tmp_tbl_a (like tbl_a) on commit drop ; > insert into tmp_tbl_a * from tbl_a; > raise notice 'count'; > select into contagem count(*) from temp_tarif_htl; > raise notice 'cont da tabela: %', contagem; > > Rodando a funcao em que esse codigo se encontra dentro do pgAdmin, > na primeira vez ele funciona como esperado. Na segunda tentativa de > rodar, eu já ganho uma mensagem de erro: > > ERROR: relation with OID 394100 does not exist > > Se eu fecho o editor de query, e abro novametne, funciona sempre bem... > mas se eu tento rodar mais do que 1 vez por sessão do editor de query eu > tomo esse erro. > > Tentei colocar um begin e commit em volta da chamada da funcao, mas o > erro continua o mesmo... > > Alguem saberia me direcionar sobre o que procurar para sanar esse problema ? >
Este é um assunto recorrente na lista. Dê uma olhada no histórico mas, para adiantar, veja o por quê nesta FAQ: http://www.postgresql.org/docs/faqs.FAQ.html#item4.19 4.19) Why do I get "relation with OID ##### does not exist" errors when accessing temporary tables in PL/PgSQL functions? Portanto utilize o EXECUTE nos comandos que se referirem a tabela temporária. Osvaldo _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
