![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Параметрический запрос. [D7, IB6.x]
Woprosnik © (2005-06-03 12:54:00)У меня есть запрос следующего вида:
SELECT * FROM V_TECHN
WHERE TIP = :TIP
В программе в зависимости от выбранного пункта меню передается параметр. Но кроме прочих пунктов есть такой: "Показать все записи". Какой параметр я должен передать, чтобы в клиентскую машину вывелись все записи из таблицы? Или это только через динамическое вормирвоание запроса возможно?
Sergey13 (2005-06-03 14:17:00) [1]2[8] Val © (03.06.05 14:08)
Я писАл, что вроде в твоем (TIP = :TIP and :TIP is not null) выделенное не обязательно. Хотя я могу ошибаться - башка совершенно не тем сейчас занята.
Вообще все это фигня. Надо это автору - сам додумает.
Val (2005-06-03 14:08:00) [2]>[4] Sergey13 © (03.06.05 13:38)
так второй же операнд OR (:TIP is null) вернет true в итоге - true :)
Sergey13 (2005-06-03 13:51:00) [3]Можно, кстати не NULL давать параметру а просто гарантировано несуществующее значение, например отрицательное.
Anatoly Podgoretsky (2005-06-03 13:45:00) [4]Что такое TIP ?
sniknik (2005-06-03 13:39:00) [5]лучше наверное динамически формировать запрос с и без параметра. не знаю в IB, а MSSQL встречалось, такая вот лишняя проверка замедляла запрос, ненамного но всетаки.
Sergey13 (2005-06-03 13:38:00) [6]2[3] Val © (03.06.05 13:33)
Дык вроде TIP = :TIP при :TIP is null один фиг ЛОЖЬ вернет. Не так?
Val (2005-06-03 13:33:00) [7]>[2] Sergey13 © (03.06.05 13:21)
м.б.
WHERE (TIP = :TIP and :TIP is not null) OR (:TIP is null)?
Sergey13 (2005-06-03 13:21:00) [8]Можно наверное даже так (в Оракле проходит)
WHERE (TIP = :TIP) OR (:TIP is null)
Johnmen (2005-06-03 12:58:00) [9]
WHERE (TIP = :TIP) OR (1=:YourIntFlagParam)