为 Oracle 更新查询 if 语句

我需要更新我的 oracle 表中新创建的列.为此,我需要使用行中的现有值来决定如何填充此列,我收到错误:

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

这是我的查询:

UPDATE
    SCHEMA_NAME.TABLE_NAME
SET
    OCO= IF CO= 'Y' AND COM='Y' THEN 
{
    'Y'
} ELSE
{
    'N'
}
END IF;

对语法有什么建议吗?

推荐答案

您可以在 SET 子句中使用 CASE 表达式.

You could use CASE expression in the SET clause.

例如,

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

相关文章