Re: UPDATE using query; per-row function calling problem - Mailing list pgsql-general

From Tom Lane
Subject Re: UPDATE using query; per-row function calling problem
Date
Msg-id 4570.1314938421@sss.pgh.pa.us
Whole thread Raw
In response to UPDATE using query; per-row function calling problem  (Rory Campbell-Lange <rory@campbell-lange.net>)
Responses Re: UPDATE using query; per-row function calling problem  (Rory Campbell-Lange <rory@campbell-lange.net>)
List pgsql-general
Rory Campbell-Lange <rory@campbell-lange.net> writes:
> I'm doing an UPDATE something like this:
>     UPDATE
>         slots
>     SET
>         a = 'a'
>         ,b = (SELECT uuid_generate_v1())
>     WHERE
>         c = TRUE;

> Each updated row in slots is getting the same value for b.

That's Postgres' interpretation of an uncorrelated sub-SELECT: there's
no reason to do it more than once, so it doesn't.

> Is there a way of getting a per-row value from uuid_generate_v1()
> without doing a PL loop?

Drop the word "SELECT".  Why did you put that in in the first place?

            regards, tom lane

pgsql-general by date:

Previous
From: Mike Christensen
Date:
Subject: pgAdmin3 not working with Gnome3
Next
From: Tom Lane
Date:
Subject: Re: Memory leak somewhere at PQconnectdb?