2015-12-29 3 views
1

У меня есть следующая таблица:настраиваемая таблица обновления

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. добавить новую строку.

К примеру, у меня есть новая строка добавила:

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 
+0

, пожалуйста, отправьте свою попытку –

+2

Что произойдет, когда новая дата находится между двумя датами начала и датами окончания? –

+0

Будет ли новая строка всегда следовать за последней текущей строкой? Должен ли он быть отклонен, если нет? – CompanyDroneFromSector7G

ответ

0

Если вы делаете это в T -SQL, дайте дате начала и конца вашего нового элемента параметру, чтобы вы могли изменить дату окончания той, которая уже указана в таблице, в соответствии с вашим требованием.

Вы можете проверить, совпадает ли дата окончания предыдущего элемента с датой начала и окончания нового элемента, используя sysdate с новыми датами начала и окончания.

Смежные вопросы