Показать сообщение отдельно
Старый 11.02.2023, 22:08   #14  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,443 / 1777 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от Владимир Максимов Посмотреть сообщение
Как правило, проблема дублей решается созданием уникального индекса. Но здесь проблема в том, что контролировать уникальность надо не по всем записям, а только среди записей со статусом "Активный"
Организовать контроль уникальности на уровне индекса в такой ситуации можно так:
1) Делаете в таблице дополнительное уникальное поле (например копирующее RecId), но заполняете его только для "Неактивных" записей.
2) Включаете это поле в индекс, который должен быть уникальным только для "Активных" записей
3) Делаете этот индекс уникальным для всей таблицы
За это сообщение автора поблагодарили: Logger (3), trud (2).