Oracleの更新ステートメントのユースケース

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に更新されることです。

おすすめ

転載: blog.csdn.net/liangmengbk/article/details/108650604