Olá comunidade,  (Postgres 8.2.4 e Distribuição CentOS 4.5)

 

Preciso (MUITO) verificar em uma função se uma dada tabela existe no banco. 

O usuário envia uma determinada data pela entrada, a função precisa verificar 
se essa tabela ainda existe (as tabelas estão no formato bhpas_h_YYYY_MM_DD).

Se essa tabela não estiver on-line, preciso recarregar ela no banco através de 
02 arquivos que estão no mesmo servidor Linux no path /tmp/sage/arqs.

 

Esse dois arquivos são bhpas_h_YYYY_MM_DD.dados e bhpas_h_YYYY_MM_DD.sqm;

 

Digamos que o usuário quer consultar dados de 06/11/2001; preciso verificar se 
existe uma tabela no banco chamada de bhpas_h_2001_11_06; Se não existir 
preciso carregá-la através dos arquivos bhpas_h_2001_11_06.dados  e 
bhpas_h_2001_11_06.sqm que estão no path /tmp/sage/arqs. 

 

Eis o conteúdo de bhpas_h_2001_11_06.sqm:

 

CREATE TABLE bhpas_h_2001_11_06 (BH_DTHR TIMESTAMP WITH TIME ZONE, BH_CHAVE 
INT, BH_VARIACAO INT , FLAG INT, FLAGEST SMALLINT, LINFA REAL, LINFE REAL, 
LINFU REAL, LSUPA REAL, LSUPE REAL, LSUPU REAL, RESNORM REAL, RGALR SMALLINT, 
VALEST REAL, VALOR REAL)

CREATE  INDEX pas_h_2001_11_06_A_I (bh_chave, bh_dthr)

UPDATE BH_pas_h_CTL SET BH_ESTADO='ONLINE', BH_DTHR=SYSTIMESTAMP() WHERE 
BH_NOME='bhpas_h_2001_11_06'\;\n

COPY bhpas_h_2001_11_06 FROM 'bhpas_h_2001_11_06.dados' DELIMITER ',' 

 

Uma outra questão é que preciso fazer isso dinamicamente. 

 

Como fazer um EXECUTE 'SE EXISTE TAL TABELA RETORNE VERDADEIRO' sem que o 
postgres

retorne o seguinte erro: << cannot EXECUTE a null querystring >> ?

 

Agradeço pela atenção e fico no aguardo.

 

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

Responder a