bom como e pergunta era para quando duplicar a chave apenas atualizer
o regstro ja existente eu queria colocar aqui uma pequena correção no
texto do Euler.

onde tem


        INSERT INTO bar (a, b, c) VALUES($1, $2, $3 + 1);


leia-se:

         UPDATE bar set a=$1, b=$2, c=$3 + 1;





Em 09/11/06, Euler Taveira de Oliveira<[EMAIL PROTECTED]> escreveu:
> alex miranda wrote:
>
> > gostaria de saber se existe alguma maneira similar de usar o ON
> > DUPLICATE KEY do mysql no postgresql?
> >
> Não. Mas você pode ter comportamento similar se utilizar uma função como
> a mostrada abaixo:
>
> CREATE OR REPLACE FUNCTION foo(INTEGER, INTEGER, INTEGER)
> RETURNS VOID AS
> $$
>         BEGIN
>         INSERT INTO bar (a, b, c) VALUES($1, $2, $3);
>         EXCEPTION WHEN unique_violation THEN
>                 INSERT INTO bar (a, b, c) VALUES($1, $2, $3 + 1);
>         END;
>
> $$
> LANGUAGE 'plpgsql';
>
>
> --
>   Euler Taveira de Oliveira
>   http://www.timbira.com/
>
> _______________________________________________
> Grupo de Usuários do PostgreSQL no Brasil
> Antes de perguntar consulte o manual
> http://pgdocptbr.sourceforge.net/
>
> Para editar suas opções ou sair da lista acesse a página da lista em:
> http://pgfoundry.org/mailman/listinfo/brasil-usuarios
>


-- 
Nabucodonosor Coutinho
Database Administrator
Accu Hosting - www.accuhosting.com
_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
Antes de perguntar consulte o manual
http://pgdocptbr.sourceforge.net/

Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios

Responder a