2017-01-16 66 views
-2

enter image description here如何添加验证周围日期

学生可以选择任意数量的CourseBatchCode

案例3 CourseBatchCode选择 这是我的表我想把验证上表

1)ENDTIME不应该在下面的开始时间和结束时间之间

2)结束时间应小于下面的开始时间和结束时间

+0

请邮寄样本表数据为文本并举例说明 – TheGameiswar

+0

这是数据本身.IF验证是真正的然后打印错误消息 – Akki

+0

请检查此链接如何提出良好的问题:https://spaghettidba.com/2015/04/24/how-to-post-at-sql -question-on-a-public-forum/ – TheGameiswar

回答

1

如果您想检查EndTime是否在给定行的StartTime 之后,那么您可以使用如此的检查约束;

ALTER TABLE [YourTableName] 
ADD CONSTRAINT [startBeforeEnd] 
CHECK (
    [EndTime] > [StartTime] 
) 

如果你想检查约束跨行工作,你将不得不使用触发器,或者可能创建一个UDF(用户定义函数)和约束使用 - 但这些通常气馁,因为它们很容易导致逻辑和性能问题。

在这些情况下,建议的方法是做客户端(应用程序)侧这种类型的验证,并在数据库中不必担心......