Что же делать с ключами
Модераторы: m0p3e, edward_K, Модераторы
И что
Ок, "...запрос всех полей НЕ ДЕЛАЕТСЯ, если в view указан список полей..." А что насчет необходимой мне сортировки?
Re: И что
.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;
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;
Re: И что
MBPIN.INSTATE - это что?
Re: И что
Тип прихода
Приход ведь можент быть и со склада, в этом случае INSTATE=3 и MBPIN.CSOPR ссылается не на MBPMOVE, а на KATSOPR.
Приход ведь можент быть и со склада, в этом случае INSTATE=3 и MBPIN.CSOPR ссылается не на MBPMOVE, а на KATSOPR.
-
- Местный житель
- Сообщения: 474
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Сибирь-матушка
- Контактная информация:
Re: И что
Действительно ...
Поглядел ASDK, сказанное актуально было только для Pervasive, ввиду особенностей его API ...
А с MS SQL малость обосрамился
Поглядел ASDK, сказанное актуально было только для Pervasive, ввиду особенностей его API ...
А с MS SQL малость обосрамился
Питаю патологические отвращение и ненависть в особо тяжелой и крайне запущенной формах к семейству программ Microsoft Business Solution !
Восславим господа Кришну за то, что у нас есть ГАЛАКТИКА !
Восславим господа Кришну за то, что у нас есть ГАЛАКТИКА !
Re: И что
Ну до этого я бы точно сам не дошел только путем перебора полей в галактике.
Прочту, запишу, выучу.
А вообще, эти таблицы для подробного реестра вводов в эксплуатацию?
Прочту, запишу, выучу.
А вообще, эти таблицы для подробного реестра вводов в эксплуатацию?
Re: И что
Всем большое спасибо
-
- Абориген
- Сообщения: 943
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: External Developer
- Контактная информация:
Re: И что
Ээээ, ребята не ссорьтесь )))
поясняю )))
использование в селекте * или Table.* параллельно для прикладухи, для платформы - глубоко не параллельно )))
И москвичи, читающие курсы тоже в чем-то правы... просто они не договаривают, что "галактике пофиг - выбирается все или только определенные поля" верно ТОЛЬКО для Pervacive ))), MS SQL и Oracle, как уважающие себя платформы и вообще говоря - нормальные СУБД САМИ сужают запрос до того перечня, который указан в самом LOT. На 100% не уверен, но похоже это делает прокладка...
поясняю )))
использование в селекте * или Table.* параллельно для прикладухи, для платформы - глубоко не параллельно )))
И москвичи, читающие курсы тоже в чем-то правы... просто они не договаривают, что "галактике пофиг - выбирается все или только определенные поля" верно ТОЛЬКО для Pervacive ))), MS SQL и Oracle, как уважающие себя платформы и вообще говоря - нормальные СУБД САМИ сужают запрос до того перечня, который указан в самом LOT. На 100% не уверен, но похоже это делает прокладка...
Re: И что
А кто сориться то:)
Нормальные СУБД не могут сами сужать запрос, они выполняют точно то, что им посылают. То, что для прикладухи все глубоко параллельно, это верно. На то она и платформо-независимая. А вот преобразованием в запросы занимается прокладка СУБД (ms70drv.dll для MSSQL). А как занимается, закачаешься, расстрелял бы разработчиков.
Кстати, интересный факт. Если вообще не указывать в VIEW поля, т.е. написать CREATE VIEW FROM ..., то компилятор сам на основе дальнейшего текста программы (интерфейса) определяет список необходимых полей в запросе.
Нормальные СУБД не могут сами сужать запрос, они выполняют точно то, что им посылают. То, что для прикладухи все глубоко параллельно, это верно. На то она и платформо-независимая. А вот преобразованием в запросы занимается прокладка СУБД (ms70drv.dll для MSSQL). А как занимается, закачаешься, расстрелял бы разработчиков.
Кстати, интересный факт. Если вообще не указывать в VIEW поля, т.е. написать CREATE VIEW FROM ..., то компилятор сам на основе дальнейшего текста программы (интерфейса) определяет список необходимых полей в запросе.
глупые вопросы
ну вы развернули тему.
А вот скажите, данные из запроса в SQL Enterprise Menager и в Галактике должны же совпадать при одинаковом запросе (те же связки и т.д.) к таблицам?
Почему в галактике данные множатся (доходит до 9 раз)?
И третье, что предпочтительней (лучше)? Писать GetNext.ИмяView или же
ИмяView.getNext ИмяТаблицы ???
А вот скажите, данные из запроса в SQL Enterprise Menager и в Галактике должны же совпадать при одинаковом запросе (те же связки и т.д.) к таблицам?
Почему в галактике данные множатся (доходит до 9 раз)?
И третье, что предпочтительней (лучше)? Писать GetNext.ИмяView или же
ИмяView.getNext ИмяТаблицы ???
Re: глупые вопросы
Ой, т.е.
Имяview.getnext
или
ИмяView.getNext ИмяТаблицы ?
Имяview.getnext
или
ИмяView.getNext ИмяТаблицы ?
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
Re: глупые вопросы
все зависит от ситуевины.
в формах vvv.getfirst table не приводит автоматически к позиционированию в дочерних таблицах.
в тоже время vvv.getfirst ; приводит к вычислению всех полей, описанных в select
поэтому когда связь по всем дочерним таблам
1 к 1, то могу посоветовать юзать vvv.getfirst ; ну и затем vvv.getnext, в противном случае по vvv.getnext ,будете получать почти одинаковые наборы в буфере - что не всегда удобно.
в формах vvv.getfirst table не приводит автоматически к позиционированию в дочерних таблицах.
в тоже время vvv.getfirst ; приводит к вычислению всех полей, описанных в select
поэтому когда связь по всем дочерним таблам
1 к 1, то могу посоветовать юзать vvv.getfirst ; ну и затем vvv.getnext, в противном случае по vvv.getnext ,будете получать почти одинаковые наборы в буфере - что не всегда удобно.
Re: глупые вопросы
Вот из-за одинаковых наборов я и спросил. Спасиб за объяснение
Re: глупые вопросы
и как же избежать получения ентих
одинаковых наборов в буфере - что всегда не удобно и путает все карты ???
одинаковых наборов в буфере - что всегда не удобно и путает все карты ???