我有一個租用表如下表結構:如何防止SQL中的日期重疊?
hireId int primary key
carId int not null foreign key
onHireDate datetime not null
offHireDate datetime not null
我試圖編程一個多用戶系統,不允許汽車重疊onhire和停租期間。我需要能夠以非連續順序添加員工。還需要允許編輯僱員。
任何方式來約束表或使用觸發器等,以防止重疊?我使用實體框架,所以我將要插入到表正常,然後如果失敗拋出一些例外開捕等
我能想到的唯一面向數據庫的解決方案是設置一個'INSTEAD OF'觸發器,一個執行檢查的過程。但我會避免它,並檢查代碼中的重疊! – vulkanino 2012-03-06 10:09:30
從實體框架的角度來看,我不認爲我可以在代碼中輕鬆檢查。我可以檢查一點,但有兩個人同時添加/編輯事件的可能性 – GraemeMiller 2012-03-06 10:17:48
我認爲實體框架將使數據訪問更容易,而不是更難!畢竟這是一個簡單的檢查。併發性是一個問題,你可以通過鎖定解決,如果架構允許你(網絡/無狀態?) – vulkanino 2012-03-06 10:27:00