Em 13/11/12, Osvaldo Kussama<[email protected]> escreveu:
> 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
>


Complementando para o seu caso específico:
Por que não um TRUNCATE seguido de um COPY?

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

Responder a