Caro Fabrízio, Valeu pela dica, resolvi o problema usando 'EXECUTE' cfe vc me indicou; foi só reescrever a função e pronto.
Atenciosamente, Irineu Raymundo Senda Engenharia de Dados Ltda. www.senda.inf.br (48) 3265 1379 ----- Original Message ----- From: Fabrízio de Royes Mello To: Comunidade PostgreSQL Brasileira Sent: Thursday, October 22, 2009 8:34 AM Subject: Re: [pgbr-geral]Função com Tabela Temporária Que Não Apaga 2009/10/21 <[email protected]> Bom dia a todos, Tenho a seguinte Função: CREATE OR REPLACE FUNCTION prog_op(integer,character varying,integer,character varying) RETURNS void AS $BODY$ BEGIN .... CREATE TEMPORARY TABLE numeros_op ( lote_op integer, cod_ref varchar(16), cod_op integer, numero varchar(5), quantidade integer ) WITHOUT OIDS; ..... DROP TABLE numeros_op; .... END; $BODY$ LANGUAGE 'plpgsql' VOLATILE; Na primeira vez executo a função sem problemas, na segunda vez da a seguinte mensagem: ERROR: relation with OID 2212534 does not exist CONTEXT: SQL statement "INSERT INTO senda.ind_03_03_02_01_02(cod_op,remessa,cod_ref,numero,quantidade) SELECT c.cod_op, $1 ,c.cod_ref,c.numero,SUM(c.quantidade) FROM numeros_op c GROUP BY c.lote_op,c.cod_op,c.cod_ref,c.numero ORDER BY c.lote_op,c.cod_op,c.cod_ref,c.numero " PL/pgSQL function "prog_op" line 81 at SQL statement Aí só encerrando a sessão. Estou usando Postgres 8.1 . Alguém tem alguma idéia do que poderia ser? Caro Irieneu, Esse é um problema com versões anteriores a 8.3, conforme descrito no FAQ [1], mas que é contornável... Para resolver o problema basta executar a criação da tua tabela temporária "dinâmicamente", ou seja, com o EXECUTE. Tente: EXECUTE 'CREATE TEMPORARY TABLE numeros_op ( lote_op integer, cod_ref varchar(16), cod_op integer, numero varchar(5), quantidade integer ) ON COMMIT DROP'; Note que adicionei o "ON COMMIT DROP", e com isso não existe necessidade do "DROP TABLE" ao final da tua função. Espero ter ajudado. [1] http://www.postgresql.org/docs/faqs.FAQ_brazilian.html#item4.19 -- Fabrízio de Royes Mello >> Blog sobre TI: http://fabriziomello.blogspot.com ------------------------------------------------------------------------------------------------------------------ Esta mensagem foi verificada pelo sistema de Segurança da SJB Solados. ------------------------------------------------------------------------------ _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ------------------------------------------------------------------------------------------------------------ Esta mensagem foi verificada pelo sistema de Segurança da SJB Solados Ltda.
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
