2つの一般的な状況があります
1つ目は、テーブル内の特定のフィールドの内容に基づいて、更新するフィールドを決定することです。例は次のとおりです。
T_LANDINFO_REQを更新します
setOPERATE_TYPE =(case OPERATE_TYPE when'D 'then'I' else'U 'end)
where id = 1
上記のSQLの目的は、OPERATE_TYPEのフィールドコンテンツがDの場合、フィールド値がIに更新され、Dでない場合、Uに更新されることです。
2つ目は、別のテーブルのレコードに基づいて更新するフィールドを決定することです。例は次のとおりです。
update MID_LA_LTG_STATS set
OPERATE_TYPE =(case(select count(1)from MID_LA_LTG_STATS_CHK where ID = 1)when 0 then'I 'else'U' end)
where ID = 1
上記のSQLの目的は、MID_LA_LTG_STATS_CHKテーブルにID 1のレコードが存在する場合、OPERATE_TYPEフィールドの値がUに更新され、存在しない場合はIに更新されることです。