ID  名称    价格      开始时间  结束时间 
  1   书      10      2012-8-20  2012-8-25
  2   书      20      2012-8-26  2012-8-29
  3   书      30      2012-8-30  2012-9-3大家好,我想要在删除第二条记录的时候,自动将第一条的结束时间设置成第三条的开始时间减一。SQL语句要怎样写?
结果如:
 ID  名称    价格      开始时间  结束时间 
  1   书      10      2012-8-20  2012-8-29
  3   书      30      2012-8-30  2012-9-3

解决方案 »

  1.   

    一楼正解,楼主的功能sql不能解决。
      

  2.   

    那就在操作的时候  顺便也update 将删除行的开始时间 更新到比这id大的记录中的最小id的开始时间就可以了 
      

  3.   

    应该是在程序里面做相应操作吧:
    直接采用 先删除后update.两个语句放到一个事务里面就OK了啊.
      

  4.   


    declare
      v_bDate date;
    begin
      delete from yourTable where id = 2;
      select 开始时间 into v_bDate from yourTable where id = 3;
      update yourTable set 结束时间 = v_bDate - 1 where id = 1;
    end;给你个参照,你还得具体情况具体处理。提醒你,少用触发器!!!