On Mon, Apr 9, 2012 at 11:33 AM, Raphael Mattos <[email protected]>wrote:

> Galera agradeço a todos que postaram, se não existe ainda uma alternativa
> vou ter que fazer na mão, verificando via select se o dados existe ou não.
>
> Em 9 de abril de 2012 11:18, Osvaldo Kussama 
> <[email protected]>escreveu:
>
> Em 09/04/12, Raphael Mattos<[email protected]> escreveu:
>> > Olá, sou novo no mundo Postgresql, e gostaria de saber se existe algum
>> > comando para inserir ou atualizar de uma única vez como no Mysql .
>> > No MySQL, por exemplo, vc pode usar o comando:
>> > Insert cliente (id,codigo, nome) values (1,'000001', 'José')
>> > on duplicate key update
>> >     nome = 'José da Silva';
>> > --
>>
>>
>> Não existe comando semelhante.
>>
>> 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
>>
>> Veja um exemplo de rotina que faz o que deseja, o ex. 39-2 em:
>>
>> http://www.postgresql.org/docs/current/interactive/plpgsql-control-structures.html#PLPGSQL-ERROR-TRAPPING
>>
>> Osvaldo
>> _______________________________________________
>> pgbr-geral mailing list
>> [email protected]
>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>
>
>
>
> --
> *Raphael Filipe Mattos *
> *        Desenvolvimento*
>
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>
Cara, dá uma olhada no exemplo que passei, ele faz isso numa tacada só.
Parece meio grande a princípio, mas é simples de entender.

Ah, lembrando que só funciona nas versões mais novas do PostgreSQL.

--
Matheus de Oliveira

Bacharelado em Ciências de Computação
Laboratório de Computação de Alto Desempenho -
LCAD<http://www.lcad.icmc.usp.br/>
Instituto de Ciências Matemáticas e de Computação -
ICMC<http://www.icmc.usp.br/>
Universidade de São Paulo - USP <http://www.sc.usp.br/>
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a