Oracleで条件付き更新ステートメントを作成する際に問題があります。わかりやすくするために、問題を単純化します。基本的に、更新ステートメントは次のようになります。
UPDATE SAMPLE_TAB1 t
SET t.sample_column1 =NVL(t.sample_column1, **SOME LOGIC**);
パーツは次の***SOME LOGIC***
ようになります: (これは単なる疑似コードであると考えてください)
IF ((SELECT sample_column2 FROM SAMPLE_TAB2
WHERE sample_column2= sample_value2
AND sample_column3 = sample_value3 )='FALSE' THEN
t.sample_column1 =0;
ELSE
t.sample_column1 =(SELECT sample_column1 FROM SAMPLE_TAB3
WHERE sample_column4= sample_value4
AND sample_column5 = sample_value5 )
END IF;
この問題に関するあらゆる種類の考えを歓迎します。ありがとうございました。