Вьюха то SQL

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

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

Ответить
n0where
Местный житель
Сообщения: 499
Зарегистрирован: 30 дек 2010, 08:16

Вьюха то SQL

Сообщение n0where »

Вобщем вопрос такой...

По логике галактика должна преобразовать свою вьюху в SQL запрос.
Можно ли получить (если она есть) каким-то образом функцию, которая это делает.

Т.е. я написал запрос на галактике, он перевел в его в SQL.
хороший программист — это человек, который переходя улицу с односторонним движением смотрит в обе стороны
Semi-bit
Постоянный обитатель
Сообщения: 123
Зарегистрирован: 01 фев 2007, 12:45
Откуда: Магнитогорск
Контактная информация:

Re: Вьюха то SQL

Сообщение Semi-bit »

Думаю, галя делает несколько параметризованных запросов, которые закидывает в объекты типа ADO Query.
Я обычно делаю преобразование так:

Код: Выделить всё

atl_sql.Replace("/==", "=").Replace("==",  "(+)=").Replace(".", ".f");
Дальше дорабатываю вручную. Если писать имена полей как Таблица.Поле, работает неплохо.
Испытываю траблы с даблами
ВИП — Велосипедо-Изобретательская Парадигма
САППОРТ — Сборище Абсолютно Пустых Посредственно Образованных Ржущих Троллей
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Вьюха то SQL

Сообщение edward_K »

Раньше можно было подсунуть отладочный драйвер к базе. Покопайтесь в конфигуратор - параметры. мож найдете.
Или создайте ошибку в базе(сеть что ли дерните) - получите ошибку выолнения запроса в ms07drv.log.
Или же делаете обычный запрос, пшите перед ним SQL делаете ошибку - смотрите лог.
galover
Местный житель
Сообщения: 794
Зарегистрирован: 16 ноя 2007, 13:52

Re: Вьюха то SQL

Сообщение galover »

Replace("==", "(+)=")
Это же right join получится, а в Атлантисе == соответствует left join-у, т.е. (+) должен стоять справа от =. И такой синтаксис только для Оракла прокатит.
Semi-bit
Постоянный обитатель
Сообщения: 123
Зарегистрирован: 01 фев 2007, 12:45
Откуда: Магнитогорск
Контактная информация:

Re: Вьюха то SQL

Сообщение Semi-bit »

galover
А у нас как раз Оракл :)
Насчёт left/right join напутал, да.

edward_k, n0where
В таком случае, будет куча запросов вида

Код: Выделить всё

INSERT INTO GAL.KATSOMEDOCS(FIELD1, FIELD2, ...) VALUES(:P1, :P2, ...) caused an error
Чесслово, лучше "с нуля" писать.
Испытываю траблы с даблами
ВИП — Велосипедо-Изобретательская Парадигма
САППОРТ — Сборище Абсолютно Пустых Посредственно Образованных Ржущих Троллей
Ответить