Muito obrigado pela ajuda
Mas eu sou leigo na construção do script
Você poderia me especificar o que cada comando faz para eu aprender....
tipo
PERFORM dblink_exec('dbname=... ', -- aqui a conexão
(
SELECT 'INSERT INTO tabela(' || -- aqui ele faz o select com
insert na tabela
string_agg(quote_ident(key), ',') – aqui não sei
|| ') VALUES(' || string_agg(quote_literal(value), ',') ||
')' – aqui também não sei
FROM each(hstore(NEW)) – aqui não sei
)
);
De: pgbr-geral [mailto:[email protected]] Em nome de
Matheus de Oliveira
Enviada em: quinta-feira, 26 de fevereiro de 2015 10:28
Para: Comunidade PostgreSQL Brasileira
Assunto: Re: [pgbr-geral] RES: RES: Função de inserção
2015-02-26 10:03 GMT-03:00 Matheus Ferreira <[email protected]
<mailto:[email protected]> >:
select * from dblink_exec
('dbname=igobal_bk
hostaddr=172.16.42.13
user=postgres
password=04474180
port=5432',
'INSERT INTO matheus
VALUES((NEW).*)');
Isso não vai funcionar, o dblink recebe o comando como uma string e não vai
saber de onde vem o NEW, você vai precisar desmembrar o NEW e criar o comando
INSERT. Nesse caso a contrib hstore pode ser de grande ajuda. Exemplo (não
testado):
PERFORM dblink_exec('dbname=... ',
(
SELECT 'INSERT INTO tabela(' || string_agg(quote_ident(key),
',')
|| ') VALUES(' || string_agg(quote_literal(value), ',') ||
')'
FROM each(hstore(NEW))
)
);
Atenciosamente,
--
Matheus de Oliveira
Analista de Banco de Dados
Dextra Sistemas - MPS.Br nível F!
www.dextra.com.br/postgres <http://www.dextra.com.br/postgres/>
---
Este email foi escaneado pelo Avast antivírus.
http://www.avast.com
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral