From: | Guillaume Lelarge <guillaume(at)lelarge(dot)info> |
---|---|
To: | hamann(dot)w(at)t-online(dot)de |
Cc: | pgsql-general <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: can these queries be combined into one? |
Date: | 2012-03-25 08:50:14 |
Message-ID: | 1332665414.2313.11.camel@localhost.localdomain |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Sun, 2012-03-25 at 08:41 +0000, hamann(dot)w(at)t-online(dot)de wrote:
> Guillaume Lelarge <guillaume(at)lelarge(dot)info> worte:
> >> >
> >> > Hi,
> >> >
> >> > I am currently doing something like
> >> >
> >> > select ordercode, descr, codes into temp table x from products where ...
> >> > Here codes is a bit-mapped field
> >> > update x set codes = codes | 512 from othertable t where ordercode = t.ordercode and ....
> >> > select * from x
> >> >
> >> > Is there a way to avoid that temp table?
> >> >
> >>
> >> Difficult to be really precise, but you may do this with:
> >>
> >> UPDATE products
> >> SET codes = codes | 512
> >> FROM othertable t
> >> WHERE
> >> <your first-SELECT WHERE clause here>
> >> AND ordercode = t.ordercode AND ...
> >> RETURNING
> >> ordercode, descr, codes;
> >>
> >> You need at least 8.2 to use the RETURNING clause.
> >>
>
> Hi Guillaume,
>
> thanks a lot, but it is not really what I need: I want the whole lot, not just the rows that were part
> of the update
>
Oops, you're right. Never answer before having some coffee :)
I guess you don't have much choice then. You'll need that temp table.
--
Guillaume
http://blog.guillaume.lelarge.info
http://www.dalibo.com
From | Date | Subject | |
---|---|---|---|
Next Message | Jasen Betts | 2012-03-25 09:05:54 | Re: Is record handle available to a check constraint stored procedure call? |
Previous Message | Guillaume Lelarge | 2012-03-25 08:14:05 | Re: can these queries be combined into one? |