【发布时间】:2019-10-28 12:20:48
【问题描述】:
只有当 status = 'S' 时,有没有办法避免重复行? 示例:
我尝试创建一个“唯一”索引,但是当 status = 'N' 它应该允许重复时,它不能正常工作。
有什么建议可以避免 SQL 中的重复吗?
【问题讨论】:
标签: sql sql-server indexing duplicates
只有当 status = 'S' 时,有没有办法避免重复行? 示例:
我尝试创建一个“唯一”索引,但是当 status = 'N' 它应该允许重复时,它不能正常工作。
有什么建议可以避免 SQL 中的重复吗?
【问题讨论】:
标签: sql sql-server indexing duplicates
是的,你可以使用filtered index:
CREATE UNIQUE INDEX UIX_name ON tab(fk_client) WHERE status = 'S';
【讨论】:
This provides a mechanism for enforcing uniqueness across some subset of the rows in a table.