vc pode criar uma função para verificar se a tabela temporaria ainda 
esta criada.

CREATE FUNCTION ExisteTabela(Tabela VARCHAR(30))
RETURNS BOOLEAN as $$
DECLARE
  _OID INTEGER;
begin
  SELECT oid
  into _OID
  FROM pg_class
  WHERE relname = Tabela;
 
  RETURN (_OID IS NOT NULL);
END;$$
LANGUAGE 'plpgsql';

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 ?
>
>Grato pelo auxilio,
>Marcelo Magno
>    
>
>    
>
>  
>
>------------------------------------------------------------------------
>
>_______________________________________________
>pgbr-geral mailing list
>[email protected]
>https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>  
>

_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a