pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Scott Marlowe <scott.marlowe@gmail.com>
To: emilu@encs.concordia.ca
Cc: pgsql-sql@postgresql.org
Subject: Re: case when... end in update clause?
Date: Wed, 12 Mar 2008 09:19:15 -0700
Message-ID: <dcc563d10803120919w5d26ff5amb7c0cf10cfcb99df@mail.gmail.com> (raw)
In-Reply-To: <47D8009D.6000703@encs.concordia.ca>
References: <47D7FB06.10707@encs.concordia.ca>
	<dcc563d10803120901j5f6bd4as8eae1320318b7060@mail.gmail.com>
	<47D8009D.6000703@encs.concordia.ca>

On Wed, Mar 12, 2008 at 9:11 AM, Emi Lu <emilu@encs.concordia.ca> wrote:
> >>
>  >>  I use one small Example, table: test
>  >>  =============================
>  >>  id
>  >>  ==
>  >>  5
>  >>  6
>  >>  8
>  >>
>  >>  try to update test.id
>  >>
>  >>
>  >>  update test
>  >>
>  >>  case
>  >>   when id =5 then SET id = 6
>  >>  end
>  >>  ;
>  >
>  > would this work:
>  >
>  > update test set id=5 where id=6;
>  >
>
>  No. I provide one small fake example.
>
>
>  I want to know how to use case when in update/set clause as the following:
>
>  update test
>  set id = case when id = 5 then 6 else id end;

Well, I think my point stands, that this stuff really belongs in a
where clause.  The way you're doing it it updates ALL the rows whether
it needs to or not, my way only updates the rows that need it.  How
about a REAL example of what you're trying to do.  There may well be a
more efficient way of doing this than using a case statement.  Or
not...



view thread (6+ messages)  latest in thread

Message-ID: <dcc563d10803120919w5d26ff5amb7c0cf10cfcb99df@mail.gmail.com>
Permalink:  ../dcc563d10803120919w5d26ff5amb7c0cf10cfcb99df@mail.gmail.com/
Also on:    postgresql.org/message-id/dcc563d10803120919w5d26ff5amb7c0cf10cfcb99df@mail.gmail.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: scott.marlowe@gmail.com, emilu@encs.concordia.ca
  Subject: Re: case when... end in update clause?
  In-Reply-To: <dcc563d10803120919w5d26ff5amb7c0cf10cfcb99df@mail.gmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox