Не могу подобрать индекс не усекая по умолчанию ключ. 810
Модераторы: m0p3e, edward_K, Модераторы
-
- Местный житель
- Сообщения: 412
- Зарегистрирован: 28 апр 2005, 11:34
- Откуда: Галактика Млечный Путь
Не могу подобрать индекс не усекая по умолчанию ключ. 810
После перехода на версию 810 сломалась выборка в вип программе.
create view
from synonym oborot oborotBuh
where((
PlansSch.nrec == oborotBuh.cPlansSch
oborot.sodpr == oborotBuh.sodpr
));
Компилятор выдает:Предупреждение: Не могу подобрать индекс не усекая по умолчанию ключ для таблицы OBOROTBUH.
Ключ на Oborot cPlansSch+sodpr такой есть (OBOROT30). Компилятору не нравится поле sodpr.
В 712 это работало без проблем. Структура индекса в версиях 7 и 8 одинаковая.
Кто знает что это за новости?
create view
from synonym oborot oborotBuh
where((
PlansSch.nrec == oborotBuh.cPlansSch
oborot.sodpr == oborotBuh.sodpr
));
Компилятор выдает:Предупреждение: Не могу подобрать индекс не усекая по умолчанию ключ для таблицы OBOROTBUH.
Ключ на Oborot cPlansSch+sodpr такой есть (OBOROT30). Компилятору не нравится поле sodpr.
В 712 это работало без проблем. Структура индекса в версиях 7 и 8 одинаковая.
Кто знает что это за новости?
-
- Местный житель
- Сообщения: 2898
- Зарегистрирован: 24 июн 2005, 12:12
- Откуда: Иркутская область
Re: Не могу подобрать индекс не усекая по умолчанию ключ. 81
наткнулся на такую же ошибку. таблица EXCLASSSEG индекс
CLASSCODE
NAME
мне нельзя писать <<= т.к. мне нужен именно одна конкретная запись, название которой полностью совпадет. в принципе, программа работает верно. просто не обращать внимание на предупреждение?
CLASSCODE
NAME
мне нельзя писать <<= т.к. мне нужен именно одна конкретная запись, название которой полностью совпадет. в принципе, программа работает верно. просто не обращать внимание на предупреждение?
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
Re: Не могу подобрать индекс не усекая по умолчанию ключ. 81
length вам поможет убрать сие предупреждение
Re: Не могу подобрать индекс не усекая по умолчанию ключ. 81
Здесь еще нюанс появляется. В EXCLASSSEG индексируемая часть поля NAME имеет размер 40 символов. Если у вас несколько записей, у которых они одинаковые, то все записи попадут в выборку. Например, есть наименования
Дополнительный внешний классификатор 0001
Дополнительный внешний классификатор 0002
Дополнительный внешний классификатор 0003
и вы задаетеНе удивляйтесь, что в выборку попадет не только 0001, но и 0002 c 0003.
Дополнительный внешний классификатор 0001
Дополнительный внешний классификатор 0002
Дополнительный внешний классификатор 0003
и вы задаете
Код: Выделить всё
...
where
((
MyCode==EXCLASSSEG.CLASSCODE and
'Дополнительный внешний классификатор 0001'==EXCLASSSEG.NAME (Length=40)
))
...
-
- Слесарь-системщик
- Сообщения: 304
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: р.Беларусь, Унитарное предприятие "ТОП СОФТ"
- Контактная информация:
Re: Не могу подобрать индекс не усекая по умолчанию ключ. 81
Что же в том удивительного, если, сравниваются только первые 40 символов ключа, т.е., по сути, выбираются все записи, начинающиеся с "Дополнительный внешний классификатор 000"?
Виталий