Что же делать с ключами

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

zanuda
Новичок
Сообщения: 28
Зарегистрирован: 29 мар 2005, 17:49

И что

Сообщение zanuda »

Ок, "...запрос всех полей НЕ ДЕЛАЕТСЯ, если в view указан список полей..." А что насчет необходимой мне сортировки?
WiRuc
Местный житель
Сообщения: 414
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Воронеж

Re: И что

Сообщение WiRuc »

.Create view testView
as
select
MBPMOVE.DMOVE(fieldname=dateF),
MBPIN.SUMMA(fieldname=StoimF),
KATMBP.NAME(fieldname=MBPName),
MBPIN.KOLDOC(fieldname=kolF),
KATMBP.NNUMBER(fieldname=MBPKod),
KATMOL.NAME (fieldname=MOLFROM)
from katmbp,mbpin,mbpmove,katmol
WHERE
(( KATMBP.NREC == MBPIN.CMBP AND
(word(3) <> MBPIN.INSTATE) AND
MBPIN.CSOPR == MBPMOVE.NREC AND
MBPMOVE.CMOLF == KATMOL.NREC ))
ORDER BY KATMBP.NNUMBER;
zanuda
Новичок
Сообщения: 28
Зарегистрирован: 29 мар 2005, 17:49

Re: И что

Сообщение zanuda »

MBPIN.INSTATE - это что?
WiRuc
Местный житель
Сообщения: 414
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Воронеж

Re: И что

Сообщение WiRuc »

Тип прихода
Приход ведь можент быть и со склада, в этом случае INSTATE=3 и MBPIN.CSOPR ссылается не на MBPMOVE, а на KATSOPR.
Goblin
Местный житель
Сообщения: 474
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Сибирь-матушка
Контактная информация:

Re: И что

Сообщение Goblin »

Действительно ...
Поглядел ASDK, сказанное актуально было только для Pervasive, ввиду особенностей его API ...

А с MS SQL малость обосрамился :)
Питаю патологические отвращение и ненависть в особо тяжелой и крайне запущенной формах к семейству программ Microsoft Business Solution !
Восславим господа Кришну за то, что у нас есть ГАЛАКТИКА !
zanuda
Новичок
Сообщения: 28
Зарегистрирован: 29 мар 2005, 17:49

Re: И что

Сообщение zanuda »

Ну до этого я бы точно сам не дошел :) только путем перебора полей в галактике.
Прочту, запишу, выучу.

А вообще, эти таблицы для подробного реестра вводов в эксплуатацию?
zanuda
Новичок
Сообщения: 28
Зарегистрирован: 29 мар 2005, 17:49

Re: И что

Сообщение zanuda »

Всем большое спасибо
Maverick
Абориген
Сообщения: 943
Зарегистрирован: 29 мар 2005, 17:49
Откуда: External Developer
Контактная информация:

Re: И что

Сообщение Maverick »

Ээээ, ребята не ссорьтесь )))
поясняю )))
использование в селекте * или Table.* параллельно для прикладухи, для платформы - глубоко не параллельно )))
И москвичи, читающие курсы тоже в чем-то правы... просто они не договаривают, что "галактике пофиг - выбирается все или только определенные поля" верно ТОЛЬКО для Pervacive ))), MS SQL и Oracle, как уважающие себя платформы и вообще говоря - нормальные СУБД САМИ сужают запрос до того перечня, который указан в самом LOT. На 100% не уверен, но похоже это делает прокладка...
Изображение
Знающий людей разумен.
Знающий себя просветлён.
Побеждающий людей силен.
Побеждающий самого себя могущественнен
WiRuc
Местный житель
Сообщения: 414
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Воронеж

Re: И что

Сообщение WiRuc »

А кто сориться то:)
Нормальные СУБД не могут сами сужать запрос, они выполняют точно то, что им посылают. То, что для прикладухи все глубоко параллельно, это верно. На то она и платформо-независимая. А вот преобразованием в запросы занимается прокладка СУБД (ms70drv.dll для MSSQL). А как занимается, закачаешься, расстрелял бы разработчиков.
Кстати, интересный факт. Если вообще не указывать в VIEW поля, т.е. написать CREATE VIEW FROM ..., то компилятор сам на основе дальнейшего текста программы (интерфейса) определяет список необходимых полей в запросе.
zanuda
Новичок
Сообщения: 28
Зарегистрирован: 29 мар 2005, 17:49

глупые вопросы

Сообщение zanuda »

ну вы развернули тему.
А вот скажите, данные из запроса в SQL Enterprise Menager и в Галактике должны же совпадать при одинаковом запросе (те же связки и т.д.) к таблицам?
Почему в галактике данные множатся (доходит до 9 раз)?
И третье, что предпочтительней (лучше)? Писать GetNext.ИмяView или же
ИмяView.getNext ИмяТаблицы ???
zanuda
Новичок
Сообщения: 28
Зарегистрирован: 29 мар 2005, 17:49

Re: глупые вопросы

Сообщение zanuda »

Ой, т.е.
Имяview.getnext
или
ИмяView.getNext ИмяТаблицы ?
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: глупые вопросы

Сообщение edward_K »

все зависит от ситуевины.
в формах vvv.getfirst table не приводит автоматически к позиционированию в дочерних таблицах.
в тоже время vvv.getfirst ; приводит к вычислению всех полей, описанных в select
поэтому когда связь по всем дочерним таблам
1 к 1, то могу посоветовать юзать vvv.getfirst ; ну и затем vvv.getnext, в противном случае по vvv.getnext ,будете получать почти одинаковые наборы в буфере - что не всегда удобно. :)
edd
Постоянный обитатель
Сообщения: 170
Зарегистрирован: 29 мар 2005, 17:49

Re: глупые вопросы

Сообщение edd »

Вот из-за одинаковых наборов я и спросил. Спасиб за объяснение
stray
Постоянный гость
Сообщения: 90
Зарегистрирован: 29 мар 2005, 17:49

Re: глупые вопросы

Сообщение stray »

и как же избежать получения ентих
одинаковых наборов в буфере - что всегда не удобно и путает все карты ???
Ответить