我有一個表,如:創建複合鍵
Id PersonId Phone IsPrimary
-----------------------------------
1 1 12345 1
2 1 55555 0
3 2 66666 1
4 3 77777 1
5 3 88888 0
6 3 99999 0
我怎樣才能創建約束,使插入此表中只有一個值isPrimary = 1元PERSONID。對於所有PERSONID應該只有一個值isPrimary = 1那麼,結果我就無法插入下一條記錄:
Id PersonId Phone IsPrimary
-----------------------------------
1 1 00000 1
一種方法是僅允許通過[存儲過程]更新此表(https://msdn.microsoft.com/en-us/library/ms190782.aspx?f=255&MSPPError=-2147217396)。您可以使用SP來執行您的業務邏輯。 –
在插入過程中創建一個替代觸發器將允許您在插入值之前檢查此條件 – krish