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