在Sql Server中,我有一个具有以下结构的表。
(客户密钥|产品密钥|数量| CreatedOn | ModifiedOn | DeletedOn) (GUID,GUID,int,TimeStamp,TimeStamp,TimeStamp)
主键(CustomerKey,ProductKey) 索引
索引2用于实现软删除,以便在删除记录时设置DeletedOn。因此在一个表中,我们可能有具有不同删除日期的不同记录,但只有一个删除日期为null的记录。
此策略适用于以单个键为主的表。该表有一个复合键,两个键实际上都是外键。
现在考虑记录 (xxx-xx-xx,yyy-yy-yy,12,'2009-12-1',null,null)
我删除了该记录。现在为相同的客户和相同的主键重新插入。但由于密钥是重复的,即客户和产品密钥,因此无法添加。
有解决方案吗?