select ml.obj_id, ml.material_code, ml.material_name, ml.material_categories, ml.material_subclass, ml.material_type, ml.material_unit, ml.material_matkl, ml.DISPO, ml.material_specifications, ml.plant_code, bf.factory_name plantName, ml.productline_code, bpl.PRODUCT_LINE_NAME productLineName, ml.increment_date, ml.is_flag, ml.created_by, ml.created_time, ml.updated_by, ml.updated_time from base_materialinfo ml left join base_factory bf on bf.factory_code = ml.plant_code left join base_productline bpl on bpl.PRODUCT_LINE_CODE = ml.productline_code SELECT seq_base_materialinfo.NEXTVAL as objId FROM DUAL insert into base_materialinfo obj_id, material_code, material_name, material_categories, material_subclass, material_type, material_unit, material_matkl, material_specifications, plant_code, productline_code, increment_date, is_flag, created_by, created_time, updated_by, updated_time, DISPO, #{objId}, #{materialCode}, #{materialName,jdbcType=NVARCHAR}, #{materialCategories}, #{materialSubclass}, #{materialType}, #{materialUnit}, #{materialMatkl}, #{materialSpecifications}, #{plantCode}, #{productLineCode}, #{incrementDate}, #{isFlag}, #{createdBy}, #{createdTime}, #{updatedBy}, #{updatedTime}, #{DISPO}, update base_materialinfo material_code = #{materialCode}, material_name = #{materialName,jdbcType=NVARCHAR}, material_categories = #{materialCategories}, material_subclass = #{materialSubclass}, material_type = #{materialType}, material_unit = #{materialUnit}, material_matkl = #{materialMatkl}, material_specifications = #{materialSpecifications}, plant_code = #{plantCode}, productline_code = #{productLineCode}, increment_date = #{incrementDate}, is_flag = #{isFlag}, created_by = #{createdBy}, created_time = #{createdTime}, updated_by = #{updatedBy}, updated_time = #{updatedTime}, DISPO = #{DISPO}, where obj_id = #{objId} delete from base_materialinfo where obj_id = #{objId} delete from base_materialinfo where obj_id in #{objId}