0
使用SQL Server 2K8 R2,我有兩個相關的表 - 成員和問卷。每個表都有一個名爲ID的BigInt PK。問卷有MemberID與正在填寫表格的成員進行聯繫。 隨着時間的推移,,成員可能會多次完成問卷。業務要求是每個成員每年完成一次最多調查問卷。 AFAIK使用簡單的CHECK CONSTRAINT
無法解決這個問題。在1:M關係上強制執行數據驅動的1:1約束
是否有「乾淨」的方式來做到這一點?我希望能避免做類似如下:
CREATE TRIGGER tr_Questionnaire_Insert
ON Questionnaire
INSTEAD OF INSERT
AS BEGIN
-- Check for a violation of once questionnaire per calendar year and if found, call RAISERROR
-- Otherwise continue with INSERT
END;
我不想使用這種方法的原因,主要是因爲它需要我(或任何人將保持在長期的這種解決方案)記住如果調查問卷的模式應該改變,則保持觸發。
哈哈哈!我可以踢自己。看看當你太接近問題時會發生什麼?今天無法從樹上看到森林。 TYVM! – Yuck 2011-04-25 19:26:38