Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проверка запроса SQL [D7, ODAC]


ANB ©   (2005-02-28 15:00:00) 

Кто подскажет, как проверить синтаксис запроса, не исполняя его ?
Например select :y/:x from dual - исполнять с х=0 нельзя, а синтаксически все правильно.


ANB   (2005-02-28 16:12:00) [1]

Да нет, мне его как раз лень делать. Нужно язык придумывать и компилятор писать, а влом разбирать выражения. И я решил эту часть на Oracle скинуть, все равно на нем все написано. Пусть пашет. А ответ я уже нашел. Prepare. Если синтаксис правильный, то он не ругается. Согласно примеру - Prepare - все ОК, а Execute - ошибка, как я и хотел. Всем спасибо за отклик.


Sergey13   (2005-02-28 15:13:00) [2]

2ANB ©   (28.02.05 15:00)
>Например select :y/:x from dual - исполнять с х=0 нельзя
Почему нельзя? Можно. Только результатом будет ошибка ORA-01476. 8-)

ЗЫ: парсер делаешь что ли?


Johnmen   (2005-02-28 15:07:00) [3]

Я наврал...:)


Johnmen   (2005-02-28 15:04:00) [4]

select :y/:x from dual where :z<>0
где :x=:z


Sergeich   (2005-02-28 15:04:00) [5]

select case when x <> 0 then :y/:x else 0 end from dual


Наверх

Титульная страница Поиск, карта сайта Написать письмо