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