Em 12/11/12, Mariana Hansen<[email protected]> escreveu:
> Boa noite a todos.
>
> Recentemente mexendo com o mysql me pediram para que eu importasse os dados
> de um arquivo CSV para uma tabela:
>
> CSV -> tabela
>
> Sendo que se o id da chave já existir, se ouver mudanças no resto fazer o
> update.
> Se tiver registros a mais; inserir.
>
> Pois bem...
>
> Resolvi o caso usando no mysql
>
> LOAD DATA ... REPLACE;
>
> No mysql, esse "REPLACE" foi minha palavra salvadora...
> Gostaria de saber como no nosso glorioso Postgres podemos fazer o mesmo
> elegantemente.
> Já consultei a documentação sobre o comando COPY e infelizmente não tem.
>
Está na TODO List:
Add SQL-standard MERGE/REPLACE/UPSERT command
MERGE is typically used to merge two tables. REPLACE or UPSERT
command does UPDATE, or on failure, INSERT. See SQL MERGE for notes on
the implementation details.
http://wiki.postgresql.org/wiki/Todo
Como uma possível alternativa, dentre outras, veja o exemplo 39-2 em:
http://www.postgresql.org/docs/current/interactive/plpgsql-control-structures.html
Osvaldo
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral