打个比方,我网页上有一个广告位,别人可以用来推广,推广以周为单位,有一个开始时间和结束时间。我现在如果新增一条记录,如何判断我所选择的这段时间段内没有被其他人占用?不知道我是否描述清楚了,请教大家了!

解决方案 »

  1.   


      
      GuangGao_ID, START_DATE, END_DATE  SELECT 'USING' AS FLAG FROM TABLE1 WHERE END_DATE > SYSDATE AND GuangGao_ID = 'SPECIFIED ID'
      

  2.   

    取出你表里已经记录的最小开始时间和最大结束时间,然后用你新增记录的开始时间和结束时间与其对比,看是否有交叉。select min(d_start_date),max(d_end_date) into v_start_date,v_end_date from t_tab;--new_start_date 新增记录开始时间
    --new_end_date 新增记录结束时间
    if new_start_date >= v_start_date and new_start_date <= v_end_date then
    ..... --已占用
    elseif new_end_date >= v_start_date and new_end_date <= v_end_date then.....----已占用else
    ....
    end if