Home » SQL & PL/SQL » SQL & PL/SQL » update with case using select (11.2.0.3.0)
update with case using select [message #599926] Wed, 30 October 2013 04:44 Go to next message
lijok
Messages: 68
Registered: April 2005
Member
Can we use select statement in case statment for an update?
Example
UPDATE x SET field = CASE WHEN
    (SELECT field1
    FROM Y
    WHERE field3 = x.field3
    IS NOT NULL
    THEN 'B'
    ELSE 'C'
where cny# = 112160
Re: update with case using select [message #599927 is a reply to message #599926] Wed, 30 October 2013 04:46 Go to previous messageGo to next message
lijok
Messages: 68
Registered: April 2005
Member
correcting on closing bracket..

UPDATE x SET field = CASE WHEN
    (SELECT field1
    FROM Y
    WHERE field3 = x.field3)
    IS NOT NULL
    THEN 'B'
    ELSE 'C'
Re: update with case using select [message #599930 is a reply to message #599927] Wed, 30 October 2013 05:00 Go to previous messageGo to next message
Michel Cadot
Messages: 68643
Registered: March 2007
Location: Nanterre, France, http://...
Senior Member
Account Moderator

Yes you can.

SQL> update t 
  2  set v = case when (select 1 from dual) is not null then 1 else 2 end;

3 rows updated.


Why didn't you simply try?

Re: update with case using select [message #599941 is a reply to message #599930] Wed, 30 October 2013 05:43 Go to previous message
lijok
Messages: 68
Registered: April 2005
Member
I tried, but failed, I was missing the END
Thanks for your help!
Previous Topic: Pagination Query
Next Topic: Troubleshoot procedure error
Goto Forum:
  


Current Time: Tue Apr 23 23:08:07 CDT 2024