Re: case when... end in update clause? - Mailing list pgsql-sql

From Emi Lu
Subject Re: case when... end in update clause?
Date
Msg-id 47D803E0.5050207@encs.concordia.ca
Whole thread Raw
In response to Re: case when... end in update clause?  ("Scott Marlowe" <scott.marlowe@gmail.com>)
List pgsql-sql
Hi Scott ,
>>  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...

Ok.


The situation would like this, in one query:


UPDATE tableName
SET   col1 = val1 when col1 satisfy condition1   col1 = val2 when col1 satisfy condition2
   ... ...
   col1 = valN when col1 satisfy conditionN
   ... ...

WHERE   col3 satisfy conditionX;





pgsql-sql by date:

Previous
From: "Scott Marlowe"
Date:
Subject: Re: case when... end in update clause?
Next
From: "Valter Douglas Lisbôa Jr."
Date:
Subject: Timestamp, epoch and a bit confusion