Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / VFP8: ...Group By... - ложка дегтя в бочке меда? / 10 сообщений из 10, страница 1 из 1
22.03.2004, 23:45
    #32452141
neznajka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP8: ...Group By... - ложка дегтя в бочке меда?
Много разных вкусностей содержит в себе VFP8, по сравнению с предыдущими версиями. Взять хотябы конструкцию INSERT…SELECT… И все-же:
- может я чего-то не понял, но в HELPе VFP8 указано, что в SQL-запросе, в разделе GROUP BY, должны перечисляться ВСЕ извлекаемые поля, указанные в разделе SELECT…FROM, кроме агрегированных и memo-полей (а иначе - даже SQL-дизайнер бессилен, проверено). В качестве примера:

исходная таблица - table1 (field1 n(8), field2 c(50), field3 n(3), field4 m(4)),
запрос – SELECT field2, field3, field4 FROM table1 GROUP BY 1,2 INTO TABLE table2,

(надо получить таблицу table2 с уникальными комбинациями полей field2 и field3, содержащую также и memo-поле field4, содержимое которого на данном этапе не важно (ибо оно одинаковое, хотя и непустое), но важна именно такая структура выходного файла, а при дальнейшей обработке файла table2 информация из этого поля будет задействована)

Так вот, в VFP6 и VFP7 такой запрос срабатывает за милую душу, а вот VFP8 – требует перечисления всех SELECT-полей запроса в разделе GROUP BY… Это что же – переделывать все 48 страниц программного кода? Кроме того, на мой взгляд, такое нововведение серьезно ограничивает гибкость SQL-запросов в VFP8, хотя должно быть наоборот – усовершенствование от версии к версии. Выходит, как писал дедушка Ленин – «шаг вперед – два шага назад»? Или я чего-то недопонял…
...
Рейтинг: 0 / 0
23.03.2004, 00:17
    #32452153
Андрей Давыдов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP8: ...Group By... - ложка дегтя в бочке меда?
см. SET ENGINEBEHAVIOR 70 | 80
...
Рейтинг: 0 / 0
23.03.2004, 00:36
    #32452163
neznajka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP8: ...Group By... - ложка дегтя в бочке меда?
To Андрей Давыдов :
Спасибо, поставлю обратно VFP8 - посмотрю. Но я, ведь, именно в разделе ENGINEBEHAVIOR и вычитал то, о чем написал... Ладно, может, невнимательно смотрел, попробую еще раз.
...
Рейтинг: 0 / 0
23.03.2004, 04:36
    #32452202
Андрей Давыдов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP8: ...Group By... - ложка дегтя в бочке меда?
2 neznajka

Вопрос по SET ENGINEBEHAVIOR неоднократно переодически
обсасывается уже примерно год теми кто переходит
на VFP8.
Как совет - скачай Оффлайн конфу фоксклуба.
...
Рейтинг: 0 / 0
23.03.2004, 08:26
    #32452287
Urri
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP8: ...Group By... - ложка дегтя в бочке меда?
От себя добавлю, что поведение по SET ENGINEBEHAVIOR 80, в принципе, правильное для реляционных БД, а путь SET ENGINEBEHAVIOR 70 чреват многими потенциальными ошибками, которые обсуждались, в частности, здесь.
...
Рейтинг: 0 / 0
23.03.2004, 15:39
    #32453302
Андрей Давыдов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP8: ...Group By... - ложка дегтя в бочке меда?
2 Urri

TSQL - насегодня стандарт.
И разаработчики vfp из версии в версию
подстраивают диалект SQL фокса под него.
...
Рейтинг: 0 / 0
23.03.2004, 23:45
    #32453977
neznajka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP8: ...Group By... - ложка дегтя в бочке меда?
2 Андрей Давыдов:
Стандарт-то стандартом, но тогда на кого расчитана такая стандартизация? Если на нормально подготовленных программеров, то они и так не допустят таких оплошностей, от которых страхует ENGINEBEHAVIOR(80) по сравнению с ENGINEBEHAVIOR(70). А если на начинающих, то почему тогда SQL-designer в VFP8 не указывает на ошибку КОНКРЕТНО, не говоря уж о том, что, имхо, он должен ее в таком случае вообще нейтрализовать…
...
Рейтинг: 0 / 0
24.03.2004, 10:58
    #32454363
Sergey Ch
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP8: ...Group By... - ложка дегтя в бочке меда?
neznajka то почему тогда SQL-designer в VFP8 не указывает на ошибку КОНКРЕТНО

Напишите рапорт Большому брату :) Видимо у них там недароботка в дизайнере, а может он от предыдущей версии... К сожалению, ни разу не пользовался дизайнером запросов - он немного лишнего кода городит, что не всегда удобно в последующем понимании...

Удачи!
...
Рейтинг: 0 / 0
24.03.2004, 11:22
    #32454427
Cyv
Cyv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP8: ...Group By... - ложка дегтя в бочке меда?
Андрей ДавыдовTSQL - насегодня стандарт.
И разаработчики vfp из версии в версию
подстраивают диалект SQL фокса под него.
Стандарт на сегодня ANSI SQL 92, вот под него и приводят в соответствие
А T-SQL,PL-SQL,SET ENGINEBEHAVIOR 70 и т.д. - есть расширения того или иного конкретного продукта. Вроде так.
...
Рейтинг: 0 / 0
25.03.2004, 06:23
    #32455974
foxwizard
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VFP8: ...Group By... - ложка дегтя в бочке меда?
> то почему тогда SQL-designer в VFP8 не указывает на ошибку КОНКРЕТНО
А должен?
В среде разработки и в конечном приложении SET ENGINEBEHAVIOR могут и отличаться.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / VFP8: ...Group By... - ложка дегтя в бочке меда? / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]