2023年8月3日发(作者:)
oracle中update语句使⽤casewhen有两种常⽤的情况第⼀种是要更新的字段根据表的某个字段内容判断,实例如下:update 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
第⼆种是要更新的字段根据另外⼀张表的记录判断,实例如下:update MID_LA_LTG_STATS setOPERATE_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
2023年8月3日发(作者:)
oracle中update语句使⽤casewhen有两种常⽤的情况第⼀种是要更新的字段根据表的某个字段内容判断,实例如下:update 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
第⼆种是要更新的字段根据另外⼀张表的记录判断,实例如下:update MID_LA_LTG_STATS setOPERATE_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
发布评论