select d.id, d.plant_code, d.unit, d.devname, d.devno, d.createdate, d.submitdate, d.status, d.del_flag, d.creater_code, d.creater_date, d.updater_code, d.updater_date, d.dept_id, d.remarks, d.approve_status, d.regno, d.useno, d.warn_date, d.warn_cycle, d.next_warn_date, d.warn_flag, d.model, d.capacity, d.floor, d.create_unit, d.maint_contractor, d.location, d.check_strategy, d.first_warn_date, d.check_unit, d.docno, d.approve_time, d.change_time, d.report_no ,s.dept_name, (SELECT COUNT(1) from T_SPECHI_DT h where h.DEV_ID = d.id and HI_TYPE = 0 ) as hiFlag, per_test_conclusion from t_specdev_dt d left join sys_dept s on s.dept_id = d.dept_id SELECT seq_t_specdev_ylrq.NEXTVAL as id FROM DUAL insert into t_specdev_dt id, plant_code, unit, devname, devno, createdate, submitdate, status, del_flag, creater_code, creater_date, updater_code, updater_date, dept_id, remarks, approve_status, regno, useno, warn_date, warn_cycle, next_warn_date, warn_flag, model, capacity, floor, create_unit, maint_contractor, location, check_strategy, first_warn_date, check_unit, docno, approve_time, change_time, report_no, per_test_conclusion, #{id}, #{plantCode}, #{unit}, #{devname}, #{devno}, #{createdate}, #{submitdate}, #{status}, #{delFlag}, #{createrCode}, #{createrDate}, #{updaterCode}, #{updaterDate}, #{deptId}, #{remarks}, #{approveStatus}, #{regno}, #{useno}, #{warnDate}, #{warnCycle}, #{nextWarnDate}, #{warnFlag}, #{model}, #{capacity}, #{floor}, #{createUnit}, #{maintContractor}, #{location}, #{checkStrategy}, #{firstWarnDate}, #{checkUnit}, #{docno}, #{approveTime}, #{changeTime}, #{reportNo}, #{perTestConclusion}, update t_specdev_dt plant_code = #{plantCode}, unit = #{unit}, devname = #{devname}, devno = #{devno}, createdate = #{createdate}, submitdate = #{submitdate}, status = #{status}, del_flag = #{delFlag}, creater_code = #{createrCode}, creater_date = #{createrDate}, updater_code = #{updaterCode}, updater_date = #{updaterDate}, dept_id = #{deptId}, remarks = #{remarks}, approve_status = #{approveStatus}, regno = #{regno}, useno = #{useno}, warn_date = #{warnDate}, warn_cycle = #{warnCycle}, next_warn_date = #{nextWarnDate}, warn_flag = #{warnFlag}, model = #{model}, capacity = #{capacity}, floor = #{floor}, create_unit = #{createUnit}, maint_contractor = #{maintContractor}, location = #{location}, check_strategy = #{checkStrategy}, first_warn_date = #{firstWarnDate}, check_unit = #{checkUnit}, docno = #{docno}, approve_time = #{approveTime}, change_time = #{changeTime}, report_no = #{reportNo}, per_test_conclusion = #{perTestConclusion}, where id = #{id} update t_specdev_dt plant_code = #{plantCode}, unit = #{unit}, devname = #{devname}, devno = #{devno}, createdate = #{createdate}, submitdate = #{submitdate}, status = #{status}, del_flag = #{delFlag}, creater_code = #{createrCode}, creater_date = #{createrDate}, updater_code = #{updaterCode}, updater_date = #{updaterDate}, dept_id = #{deptId}, remarks = #{remarks}, approve_status = #{approveStatus}, regno = #{regno}, useno = #{useno}, warn_date = #{warnDate}, warn_cycle = #{warnCycle}, next_warn_date = #{nextWarnDate}, warn_flag = #{warnFlag}, model = #{model}, capacity = #{capacity}, floor = #{floor}, create_unit = #{createUnit}, maint_contractor = #{maintContractor}, location = #{location}, check_strategy = #{checkStrategy}, first_warn_date = #{firstWarnDate}, check_unit = #{checkUnit}, docno = #{docno}, approve_time = #{approveTime}, change_time = #{changeTime}, report_no = #{reportNo}, per_test_conclusion = #{perTestConclusion}, where id = #{devId} update t_specdev_dt set del_flag = 2 where id = #{id} update t_specdev_dt set del_flag = 2 where id in #{id} UPDATE T_SPECDEV_DT set DEL_FLAG = 2 where rowid !=( select max(rowid) from T_SPECDEV_DT b where b.REGNO = T_SPECDEV_DT.REGNO and T_SPECDEV_DT.DEL_FLAG = 0 and b.DEL_FLAG = 0 and T_SPECDEV_DT.APPROVE_STATUS = 0 )