View previous topic :: View next topic
|
Author |
Message |
i.see.the.truth
New User
Joined: 21 Sep 2007 Posts: 8 Location: CHENNAI
|
|
|
|
Hi,
I have the following update statements to be executed with the below mentioned condition. Is there any DB2 function that can achieve the same result.
Statement 1 -
UPDATE TABLE_1
SET COLUMN_1 = 'VAL1'
WHERE COLUMN_3 = 1
Statement 2 -
UPDATE TABLE_1
SET COLUMN_2 = 'VAL2'
WHERE COLUMN_3 = 2
Condition -
Statement 2 should be executed when no rows are updated by Statement 1. Is there any way this can be done using SQL only? |
|
Back to top |
|
|
Anuj Dhawan
Superior Member
Joined: 22 Apr 2006 Posts: 6250 Location: Mumbai, India
|
|
|
|
Untested:
Code: |
UPDATE TABLE_1
SET COLUMN_1 =
CASE
WHEN COLUMN_3 = 1 THEN 'VAL1'
WHEN COLUMN_3 = 2 THEN 'VAL2'
END |
Can COLUMN_1 be NULL? If not, you'll run in to the 'error' with above SQL. |
|
Back to top |
|
|
dbzTHEdinosauer
Global Moderator
Joined: 20 Oct 2006 Posts: 6966 Location: porcelain throne
|
|
|
|
Quote: |
Statement 2 should be executed when no rows are updated by Statement 1. |
i would interpret this to mean if the UPDATE ...WHERE COLUMN_3 = 1
returns an sqlcode of +100 or sqlerrcd(3) = 0
then update WHERE COLUMN_3 = 2 |
|
Back to top |
|
|
i.see.the.truth
New User
Joined: 21 Sep 2007 Posts: 8 Location: CHENNAI
|
|
|
|
Yes Dick Brenholtz, u r right, can this be done using SQL only, without using a programming language?
Thanks
Soumen |
|
Back to top |
|
|
|