Olá comunidade, fiz essa função com a ajuda do Sebastian -
porém pra ela funcionar perfeitamente preciso testar se um determinado arquivo
existe no servidor (em um path determinado).
Como faço esse teste com plpgsql ? Não sei programar em Perl e não sei onde
está esse adminpack
(e pra falar a verdade nem como usar esse modulo contrib e onde está isso no
servidor Linux CenT OS)
Eis a função -
CREATE OR REPLACE FUNCTION fs_existe_tabela_nessa_data(tabela character varying)
RETURNS void AS
$BODY$
DECLARE pTabela ALIAS FOR $1;
sql_copy varchar;
sql_createtable varchar;
result integer;
BEGIN
PERFORM true FROM pg_class WHERE relname ilike tabela;
IF NOT FOUND THEN
--TENHO QUE TESTAR SE ESSE ARQUIVO EXISTE NO SERVIDOR
-- COMO FAZER ISSO NO POSTGRES?
sql_createtable = 'CREATE TABLE ' || tabela || '
(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);';
EXECUTE sql_createtable;
sql_copy = 'COPY ' || tabela || ' FROM
''/tmp/sage/arqs/' || tabela || '.dados'' DELIMITER '',''';
EXECUTE sql_copy;
RAISE NOTICE 'Não Encontrei';
ELSE
RAISE NOTICE 'Encontrei';
END IF;
RETURN;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
ALTER FUNCTION fs_existe_tabela_nessa_data(character varying) OWNER TO sage;
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral