Thread: HOWTO? if it exists, increment it, else, insert it

HOWTO? if it exists, increment it, else, insert it

From
Brian Neu
Date:
I can't seem to get CASE to work for me here and every example that I see is using CASE in a completely different way.

have a table:

    day(default CURRENT_DATE),   user,   count_of_a,    count_of_b

index is ("day", user)


What is the best postgres way to handle updating this table?

I basically need to say,

    if (day,user) exists, then increment count A
    else insert day, user, and count_a = 1.



thank you in advance


Re: HOWTO? if it exists, increment it, else, insert it

From
"A. Kretschmer"
Date:
am  Thu, dem 25.01.2007, um  9:06:25 -0800 mailte Brian Neu folgendes:
> I can't seem to get CASE to work for me here and every example that I see is
> using CASE in a completely different way.
>
> have a table:
>
>     day(default CURRENT_DATE),   user,   count_of_a,    count_of_b
>
> index is ("day", user)
>
>
> What is the best postgres way to handle updating this table?
>
> I basically need to say,
>
>     if (day,user) exists, then increment count A
>     else insert day, user, and count_a = 1.
>

Take a look at:
http://www.postgresql.org/docs/current/static/plpgsql-control-structures.html#PLPGSQL-UPSERT-EXAMPLE


Andreas
--
Andreas Kretschmer
Kontakt:  Heynitz: 035242/47150,   D1: 0160/7141639 (mehr: -> Header)
GnuPG-ID:   0x3FFF606C, privat 0x7F4584DA   http://wwwkeys.de.pgp.net