Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Foxpro/Clipper/Dbase > Проблема с Unique индексами в VFoxPro 6


Автор: VisualCraft 17.12.2003, 15:22
В таблице два уникальных индексных поля. Первое - ключевое Primary (т.е. key), еще одно отдельное Unique само по себе.
Первичный ключ правильно работает и не допускает одинаковых значений.
Unique никак не работает и свободно пропускает одинаковые значения. Установил на него Order в свойствах таблицы, но и это не помогло. В чем дело и что делать?

Пока выхожу из положения программным путем, проверяю Locate. Но это не есть гуд! Могу триггер и хранимую процедуру навернуть, но так не должно быть!!! Нафига тогда Unique?!


Автор: VisualCraft 17.12.2003, 17:19
Все вопрос закрыт! Теперь все работает как надо.

Оказывается Unique (уникальный индекс) оставлен в VFP для совместимости с предыдущими версиями...
Она как!!!
Тип остался, а функциональной нагрузки не несет. Следовательно, при переходе со старой версии на новую, в импортируемых базах работать не будет и повлечет ошибку в программе, которая "надеется" на защищенность уникального индекса.

Вместо него следует использовать тип Candidate (тоже уникальный индекс).
Наверное перевод "Кандидат" означает, что это кандидат в первичные ключи smile.gif
Непонятное решение ибо таким кандидатом мог бы быть любой уникальный (Unique) индекс при желании разработчиков. Зачем было плодить сущности без необходимости да еще и баги добавлятьconfused.gif!!!!



Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)