自定义更新表

时间:2015-12-29 15:34:44

标签: sql sql-server

我有下表:

code item   price   start date   end date 
--------------------------------------------------
art1         2.47    01/01/2015   31/03/2015
art1         1.23    01/04/2015   21/09/2015 
art1         3.55    22/09/2015   01/01/2018 

当我在表格中的开始日期和结束日期之间添加一个新行时,开始日期已存在。

  1. 我需要使用要添加的新行的start date -1更新表格中的结束日期
  2. 添加新行。
  3. 例如,我添加了一个新行:

    code item   price   start date   end date 
    -----------------------------------------
    art1         4      28/12/2015   31/05/2018
    

    我期望的最终结果如下表所示:

    code item   price   start date   end date 
    --------------------------------------------------
    art1         2.47    01/01/2015   31/03/2015
    art1         1.23    01/04/2015   21/09/2015 
    art1         3.55    22/09/2015   27/12/2015 
    art1           4      28/12/2015  31/05/2018
    

1 个答案:

答案 0 :(得分:0)

如果您在T-SQL中执行此操作,请将新项目的开始日期和结束日期作为参数,以便您可以根据需要修改表格中已有项目的结束日期。

您可以使用带有新的开始日期和结束日期的sysdate来检查上一个项目的结束日期是否介于新项目的开始日期和结束日期之间。