Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.48 MB
Время: 0.028 c
9-1112792754
anat
2005-04-06 17:05
2005.07.18
OpenGL нужна помощь


14-1119436305
saNat
2005-06-22 14:31
2005.07.18
Автоматическое резервное копирование данных рабочих станций


1-1120309254
Dust
2005-07-02 17:00
2005.07.18
Как записать по вычесленному адресу переменную


14-1119373720
ANB
2005-06-21 21:08
2005.07.18
Есть ли инсталлятор, позволяющий работать с Oracle ?


3-1118267577
highlander
2005-06-09 01:52
2005.07.18
Работа с БД Firebird, Interbase в Делфи