3
可能重複:
Simple CHECK Constraint not so simple我能上一個布爾字段創建2個字段的唯一約束和條件
我們有一個表的用戶角色。 它看起來像這樣:
Id, RoleId, PersonId, Active
活動列用於softdelete functionallity:當你刪除一個用戶的角色,你居然設置active
到false
。 所以,你可以有多個行具有相同roleid-personid-active
組合,但只有當有效位設置爲false。 因此,這是有效的數據:
Id RoleId PersonId Active
1 1 1 false
2 1 1 false
3 1 1 false
4 1 1 false
但這不是,因爲你只能有一個在任何時刻積極的作用(使記錄3不應該被插入):
Id RoleId PersonId Active
1 1 1 false
2 1 1 true
3 1 1 true
我的問題是:我可以創建RoleId, PersonId and Active
唯一約束,其中active
等於true
?
ps。 SQL Server版本是2005年