У меня есть таблица Person
с полями Code(varchar)
, Name(varchar)
и Active(bit)
. При поиске Person
возвращаются только активные записи, а при удалении Person
я устанавливаю Active = false
, чтобы он не отображался в моем поиске.
Проблема в том, что я добавил уникальное ограничение в поля Code
и Name
, так что в каждом из них может быть только одно Person
. Проблема в том, что теперь пользователь не видит Person
в поиске (потому что его актив имеет значение false) и пытается добавить тот же Person
, но ограничение Unique мешает ему это сделать.
Есть ли способ сохранить ограничение Уникальность и, возможно, добавить проверку к Active
, чтобы я все еще мог добавить это Person
, если оно ранее было установлено как active = false? Я знаю, что простое решение здесь состоит в том, чтобы просто полностью удалить запись, но для целей данных мне нужно сохранить запись, а не удалять ее, следовательно, только установив active = false
.
спасибо