我正在编写一个应用程序,允许人们发送短信,如果我们认识到他们发送的单词,我们会做一些事情。我们认识到的关键词(句柄)会根据日期发生变化。例如,我工作的教会总是需要很多复活节志愿者,所以在复活节前两个月,我们想要指定“复活节”作为关键字,在复活节后我们要禁用它。因此主键需要为<keyword, date-range>
。我可以将其设置为<keyword, date-start, date-end>
,但如果我尝试插入具有相同关键字的新记录并且在另一个记录之间使用日期开始或日期结束,我希望存在PK冲突(或至少某种类型的约束冲突)行的日期开始和日期结束。SQL Server主键使用日期范围
我最好的行动方式是什么? SQL Server是否具有内置的此功能?我是否需要使用.NET创建某种自定义类型?我是使用主键还是辅助检查约束来做到这一点?
我总是喜欢优化速度,但事实上,这个应用程序并不需要它。
没有什么建在所有你需要做的是创造。用于术语和日期过滤器的表格。 – durbnpoisn 2014-10-10 16:09:32
@durbnpoisn你是什么意思的日期过滤器? – dfoverdx 2014-10-10 16:16:31
您运行一条select语句,其中包括“where [dateIs]介于[beginDate]和[endDate]之间”。你通过今天的日期。您的表格将具有关键字在这些范围内显示的开始日期和结束日期。 – durbnpoisn 2014-10-10 16:22:42