SQL Server:"非常独特"的索引

Ian*_*oyd 4 sql-server sql-server-2005 sql-server-2000 unique-constraint multiple-columns

在表中,我想确保在五列密钥上只存在唯一的值:

Timestamp Account RatingDate TripHistoryKey EventAction
========= ======= ========== ============== ===========
2010511   1234    2010511    1              INSERT
2010511   1234    2010511    4              INSERT
2010511   1234    2010511    7              INSERT
2010511   1234    2010511    1              INSERT   <---duplicate
Run Code Online (Sandbox Code Playgroud)

我只希望唯一约束,以行之间适用时EventActionINSERT:

Timestamp Account RatingDate TripHistoryKey EventAction
========= ======= ========== ============== ===========
2010511   1234    2010511    1              INSERT
2010511   1234    2010511    1              UPDATE
2010511   1234    2010511    1              UPDATE   <---not duplicate
2010511   1234    2010511    1              UPDATE   <---not duplicate
2010511   1234    2010511    1              DELETE   <---not duplicate
2010511   1234    2010511    1              DELETE   <---not duplicate
2010511   1234    2010511    1              INSERT   <---DUPLICATE
Run Code Online (Sandbox Code Playgroud)

可能?

gbn*_*gbn 5

  • SQL Server 2008:使用筛选索引
  • SQL Server 2005:使用触发器或索引视图

编辑: