本帖最后由 sony33p89 于 2014-08-25 11:37:32 编辑

解决方案 »

  1.   

    新插入的记录not between start_time and end_time这里的start_time和end_time是已经存在的记录
      

  2.   

    写了个过程,参考,设定你的表名为T
    create or replace procedure TEST(P_ID in NUMBER,P_STARTTIME in DATE,P_ENDTIME IN DATE ) is
      i NUMBER;
    BEGIN
      --检查是否已经存在与此时间段重复的记录
      SELECT COUNT(1) INTO i 
      FROM T
      WHERE START_TIME<P_ENDTIME AND END_TIME>P_STARTTIME;
      IF i=0 THEN--如果不存在则插入数据
        INSERT INTO T(ID,START_TIME,END_TIME)
        VALUES(P_ID,P_STARTTIME,P_ENDTIME);
        commit;
      ELSE
        --不满足条件时的其他操作
        null;
      END IF;
    END;
      

  3.   

    新插入的记录not between start_time and end_time这里的start_time和end_time是已经存在的记录但是斑斑,如果我要插入幾十條上百條數據...那這個not  between  and的條件不是要寫很多次??
      

  4.   

    新插入的记录not between start_time and end_time这里的start_time和end_time是已经存在的记录但是斑斑,如果我要插入幾十條上百條數據...那這個not  between  and的條件不是要寫很多次??
    只是给了你一个思路而已,你可以将你插入的数据作为两个参数。然后通过程序来处理