select s.price_set_id, s.price_set_code, s.price_set_name, s.price_set_note, s.set_type, s.default_discount, s.default_type, s.calculate_sign, s.effective_date, s.expire_date, s.status, s.tms_id, s.created_by, s.create_time, s.updated_by, s.update_time, (select count(distinct d.product_code) from prc_price_set_detail d where d.price_set_id = s.price_set_id) as product_count, (select count(1) from prc_customer_price_set c where c.price_set_id = s.price_set_id) as customer_count from prc_price_set s insert into prc_price_set ( price_set_code, price_set_name, price_set_note, set_type, default_discount, default_type, calculate_sign, effective_date, expire_date, status, tms_id, created_by, create_time ) values ( #{priceSetCode}, #{priceSetName}, #{priceSetNote}, #{setType}, #{defaultDiscount}, #{defaultType}, #{calculateSign}, #{effectiveDate}, #{expireDate}, #{status}, #{tmsId}, #{createBy}, sysdate() ) update prc_price_set price_set_code = #{priceSetCode}, price_set_name = #{priceSetName}, price_set_note = #{priceSetNote}, set_type = #{setType}, default_discount = #{defaultDiscount}, default_type = #{defaultType}, calculate_sign = #{calculateSign}, effective_date = #{effectiveDate}, expire_date = #{expireDate}, status = #{status}, tms_id = #{tmsId}, updated_by = #{updateBy}, update_time = sysdate() where price_set_id = #{priceSetId} update prc_price_set status = #{status}, updated_by = #{updateBy}, update_time = sysdate() where price_set_id = #{priceSetId} delete from prc_price_set where price_set_id in #{priceSetId}