我有这样的示例表:
+--------------+--------------+-------+
| Start date | End date | State |
+--------------+--------------+-------+
|20131205 10:00|20131205 11:00| A |
|20131205 11:00|20131205 12:00| B |
|20131205 12:00|20131205 13:00| C |
+--------------+--------------+-------+
我想以如下所示的方式插入新状态 (D):
+--------------+--------------+--------+
| Start date | End date | State |
+--------------+--------------+--------+
|20131205 10:00|20131205 11:00| A |
|20131205 11:00|20131205 11:20| B |
|20131205 11:20|20131205 11:40| D (NEW)|
|20131205 11:40|20131205 12:00| B |
|20131205 12:00|20131205 13:00| C |
+--------------+--------------+--------+
这意味着如果我在与新状态 (D) 相同的时间有其他状态 (B),那么旧状态 (B) 应该及时切片。
我怎样才能做到这一点?
(我使用的是 MS SQL Server 2008)