2012-11-06 52 views
1

我的數據庫上工作了設備管理,用戶可以登錄和退出設備。我有一個名爲TBL_Usage的表格來跟蹤這一點。當某個項目退出時,將在該表格中創建一個帶有註銷日期的新記錄,並且在重新登錄時,登錄日期將輸入到同一記錄中。觸發器只允許一個NULL值每件ID

對於這個問題的目的,表看起來是這樣的: TBL_Usage(Date_Out,Date_In,Equipment_ID)

現在,一個項目不能在同一時間兩次退出了,因此爲每個Equipment_ID,在Date_In爲空的情況下最多隻能有一條記錄。我想創建一個觸發器/約束來處理這個問題,我不太清楚如何設置它。

回答

2

您可以用過濾的唯一索引做到這一點。

create unique index IX_TBL_Usage_Equipment_ID 
    on TBL_Usage(Equipment_ID) 
    where Date_In is null 
+0

這奏效了,謝謝! – NinjaMeTimbers