У меня есть таблица SQL Server с двумя столбцами id: INT и отмечено: BOOLEAN. Можно ли добавить ограничение, которое гарантирует, что есть только одна запись для (id = a, flagged = b), где b = 1?Ограничение частичного значения таблицы sql server
Например:
нормально (id=1, flagged=1) (id=1, flagged=0) (id=1, flagged=0)
не нормально (id=1, flagged=1) (id=1, flagged=1) (id=1, flagged=0)
Если вы ищете здесь (или в Интернете в целом) для «условного уникального ограничения», вы должны найти множество результатов. Как правило, либо фильтрованный индекс, либо индексированный вид (для более ранних версий) соответствует счету. –
@ Lloyd Unique Filtered Index работает именно таким образом – lad2025