Update query if statement for Oracle

case, conditional-statements, oracle, sql, sql-update

Solution

You could use CASE expression in the `SET` clause.

For example,

UPDATE table
SET schema.column =  CASE
                        WHEN CO= 'Y' AND COM='Y' THEN
                          'Y'
                        ELSE
                          'N'
                     END

Problem

I need to update newly created column in my oracle table. To do so I need to use existing values in row to decide how to populate this column, I am getting error: ``` java.lang.NullPointerException -> See Debug Output for details ``` This is my query: ``` UPDATE SCHEMA_NAME.TABLE_NAME SET OCO= IF CO= 'Y' AND COM='Y' THEN { 'Y' } ELSE { 'N' } END IF; ``` Any suggestions on syntax?

Original source