2017-01-16 64 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(用戶定義函數)和約束使用 - 但這些通常氣餒,因爲它們很容易導致邏輯和性能問題。

在這些情況下,建議的方法是做客戶端(應用程序)側這種類型的驗證,並在數據庫中不必擔心......