web-dev-qa-db-ja.com

Oracleのクエリifステートメントを更新する

Oracleテーブルで新しく作成した列を更新する必要があります。これを行うには、行の既存の値を使用して、この列に入力する方法を決定する必要があります。エラーが発生します。

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;

構文に関する提案はありますか?

11
Jakub Zak

SET句で[〜#〜] case [〜#〜]式を使用できます。

例えば、

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