I am trying to update the same column with different error codes based on the error condition.
The update conditions (Separately) :
UPDATE MEM_SRC_EXTN
SET INT_VALUE_1 =100
WHERE ISNULL(TYPE_VALUE,'') =''
OR ISNULL(TYPE,'') =''
OR ISNULL(VALUE_1,'') =''
OR ISNULL(VALUE_2,'') ='';
UPDATE MEM_SRC_EXTN EXTN
SET INT_VALUE_1=222
WHERE NOT EXISTS 
(SELECT 1
FROM CMC_MEM_SRC SRC 
WHERE EXTN.TYPE_VALUE = SRC.TN_ID);
UPDATE MEM_SRC_EXTN
SET INT_VALUE_1=333 
GROUP BY TYPE_VALUE 
HAVING COUNT(VALUE_1)>1;
As I have to club these 3 update conditions into one based on condition, so that It first checks the condition and then update column values instead of triggering all 3 update statement each time.
I come up with this solution but not sure will whether this will work or not?
UPDATE MEM_SRC_EXTN EXTN
SET INT_VALUE_1 = CASE 
                          WHEN (ISNULL(TYPE_VALUE,'') ='' OR ISNULL(TYPE,'') ='' OR ISNULL(VALUE_1,'') =''OR ISNULL(VALUE_2,'') ='')
                          THEN 100
                          WHEN NOT EXISTS (SELECT 1 FROM CMC_MEM_SRC SRC WHERE EXTN.TYPE_VALUE = SRC.TN_ID)
                          THEN 222
                          WHEN GROUP BY TYPE_VALUE HAVING COUNT(VALUE_1)>1
                          THEN 333
                          ELSE 000
                        END
 
     
    