Matheus, Obrigado pela dica irei testar o que você informou no email. Em 08/11/2013 17:23, "Matheus de Oliveira" <[email protected]> escreveu:
> > > > 2013/11/8 Eduardo Rodrigues <[email protected]> > >> Pessoal, >> >> utilizo o PostgreSQL 9.2 e quero replicar o conteúdo de uma tabela, >> levando em consideração a coluna recebimento que eh do tipo timestamp. No >> banco de dados online ficara armazenado apenas o período dos últimos 30 >> dias, o que for maior do que 30 dias tenho que armazenar em um outro banco >> de dados. Entao pensei em utilizar o dblink, criei uma instrução SQL que >> funciona normalmente. Mas quando a executo em uma function ela compila mas >> no momento de executar a mesma retorna erro, acredito que seja uma caso de >> escape que nao estou conseguindo solucionar. Sera que alguém pode me >> ajudar? >> >> (...) >> >> *function* >> >> >> CREATE OR REPLACE FUNCTION teste_reply() >> RETURNS int4 AS >> $BODY$ >> declare >> condicao_where character varying(255); >> value2 int4; >> begin >> >> condicao_where := 'SELECT * FROM tabela where recebimento < >> date_trunc('second',timestamp 'now()') - INTERVAL '30 day'; >> >> > Nessa parte aqui (^^) você precisa fazer o escape das aspas simples, ou > então usar operador dólar: > > condicao_where := 'SELECT * FROM tabela where recebimento < > date_trunc(''second'', now()) - INTERVAL ''30 day'' '; > > ou > > condicao_where := $query$ SELECT * FROM tabela where recebimento < > date_trunc('second', now()) - INTERVAL '30 day' $query$; > > > SELECT * FROM dblink('host=remote user=reply password=123 >> dbname=database', condicao_where) >> AS resultado(id bigint, user_id character varying(16), recebimento >> timestamp without time zone);) INTO value2; >> > > Esta parte também parece ter um erro, você está fazendo um "SELECT * " mas > jogando apenas numa variável "value2" que é um inteiro, você deveria usar > várias variáveis ou ainda um tipo RECORD. > > > >> return value2; >> >> end; >> $BODY$ >> LANGUAGE plpgsql VOLATILE >> COST 100; >> > > > Atenciosamente, > -- > Matheus de Oliveira > Analista de Banco de Dados > Dextra Sistemas - MPS.Br nível F! > www.dextra.com.br/postgres > > > _______________________________________________ > 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
