Re: UPDATE using query; per-row function calling problem

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Rory Campbell-Lange <rory(at)campbell-lange(dot)net>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: UPDATE using query; per-row function calling problem
Date: 2011-09-02 04:40:21
Message-ID: 4570.1314938421@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Rory Campbell-Lange <rory(at)campbell-lange(dot)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

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2011-09-02 04:46:33 Re: Memory leak somewhere at PQconnectdb?
Previous Message Mike Christensen 2011-09-02 04:12:59 Re: pgAdmin3 not working with Gnome3