select * from (select a.TPL_DETAIL_ID, a.TPL_ID, a.METRICS_ID, a.METRICS_CODE, a.ALARM_LOW, a.ALARM_MID, a.ALARM_HIGH, a.CREATE_BY, a.CREATE_TIME, a.UPDATE_BY, a.UPDATE_TIME, a.REMARK, b.METRICS_ID as METRICS_ID_b, b.METRICS_NAME, b.METRICS_CODE as METRICS_CODE_b, b.METRICS_EXP, b.METRICS_TYPE, b.ALARM_LOW as ALARM_LOW_b, b.ALARM_MID as ALARM_MID_b, b.ALARM_HIGH as ALARM_HIGH_b from metrics_tpl_detail a, metrics_def b where a.METRICS_ID = b.METRICS_ID) t insert into metrics_tpl_detail TPL_ID, METRICS_ID, METRICS_CODE, ALARM_LOW, ALARM_MID, ALARM_HIGH, CREATE_BY, CREATE_TIME, UPDATE_BY, UPDATE_TIME, REMARK, #{tplId}, #{metricsId}, #{metricsCode}, #{alarmLow}, #{alarmMid}, #{alarmHigh}, #{createBy}, #{createTime}, #{updateBy}, #{updateTime}, #{remark}, insert into metrics_tpl_detail(TPL_ID,METRICS_ID,METRICS_CODE,ALARM_LOW,ALARM_MID,ALARM_HIGH) select #{tplId}, METRICS_ID, METRICS_CODE,ALARM_LOW,ALARM_MID,ALARM_HIGH from metrics_def where METRICS_ID in #{id} update metrics_tpl_detail TPL_ID = #{tplId}, METRICS_ID = #{metricsId}, METRICS_CODE = #{metricsCode}, ALARM_LOW = #{alarmLow}, ALARM_MID = #{alarmMid}, ALARM_HIGH = #{alarmHigh}, CREATE_BY = #{createBy}, CREATE_TIME = #{createTime}, UPDATE_BY = #{updateBy}, UPDATE_TIME = #{updateTime}, REMARK = #{remark}, where TPL_DETAIL_ID = #{tplDetailId} delete from metrics_tpl_detail where TPL_DETAIL_ID = #{tplDetailId} delete from metrics_tpl_detail where TPL_DETAIL_ID in #{tplDetailId}