I searched all of the recommended or earlier solved questions, when I try to apply some of their logics, I can not get it to work. I have the following statement:
Update TableABC
Set ColA = CASE WHEN ColA IS NULL THEN 'Not found' ELSE ColA END,
ColB = CASE WHEN ColB IS NULL THEN 'Not found' ELSE ColB END,
ColC = CASE WHEN ColC IS NULL THEN 'Not found' ELSE ColC END,
ColD = CASE WHEN ColD IS NULL THEN 'Not found' ELSE ColD END
Where Status = 'Completed'
I also tried with the SET statement in each update, but that didnt help either...
Update TableABC
Set ColA = CASE WHEN ColA IS NULL THEN 'Not found' ELSE ColA END,
Set ColB = CASE WHEN ColB IS NULL THEN 'Not found' ELSE ColB END,
Set ColC = CASE WHEN ColC IS NULL THEN 'Not found' ELSE ColC END,
Set ColD = CASE WHEN ColD IS NULL THEN 'Not found' ELSE ColD END
Where Status = 'Completed'
This returns with ORA 00905 Missing Keyword From my perspective this looks valid statement, where is the Error? Could someone explain me?
I solved it with suggestion from Stu in comments by using Coalesce instead of CASE. Code below:
Update TableABC
Set ColA = COALESCE(ColA, n'Not found'),
ColB = COALESCE(ColB, n'Not found'),
ColC = COALESCE(ColC, n'Not found'),
ColD = COALESCE(ColD, n'Not found')
Where Status = 'Completed'