Страница 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
Чесслово, лучше "с нуля" писать.