Страница 1 из 1

Вьюха то SQL

Добавлено: 03 авг 2011, 15:01
n0where
Вобщем вопрос такой...

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

Т.е. я написал запрос на галактике, он перевел в его в SQL.

Re: Вьюха то SQL

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

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

atl_sql.Replace("/==", "=").Replace("==",  "(+)=").Replace(".", ".f");
Дальше дорабатываю вручную. Если писать имена полей как Таблица.Поле, работает неплохо.

Re: Вьюха то SQL

Добавлено: 03 авг 2011, 19:42
edward_K
Раньше можно было подсунуть отладочный драйвер к базе. Покопайтесь в конфигуратор - параметры. мож найдете.
Или создайте ошибку в базе(сеть что ли дерните) - получите ошибку выолнения запроса в ms07drv.log.
Или же делаете обычный запрос, пшите перед ним SQL делаете ошибку - смотрите лог.

Re: Вьюха то SQL

Добавлено: 03 авг 2011, 19:47
galover
Replace("==", "(+)=")
Это же right join получится, а в Атлантисе == соответствует left join-у, т.е. (+) должен стоять справа от =. И такой синтаксис только для Оракла прокатит.

Re: Вьюха то SQL

Добавлено: 04 авг 2011, 08:21
Semi-bit
galover
А у нас как раз Оракл :)
Насчёт left/right join напутал, да.

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

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

INSERT INTO GAL.KATSOMEDOCS(FIELD1, FIELD2, ...) VALUES(:P1, :P2, ...) caused an error
Чесслово, лучше "с нуля" писать.