Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.031 c
3-1117704162
evg00
2005-06-02 13:22
2005.07.18
удаление записей


1-1120232152
SpyBoy
2005-07-01 19:35
2005.07.18
Версия проги


3-1117706174
Ega23
2005-06-02 13:56
2005.07.18
Invalid BLOB handle in record buffer


1-1119873973
Dr. Genius
2005-06-27 16:06
2005.07.18
Ошибка при переводе Bmp в Wmf


8-1110725856
Uncle Dix
2005-03-13 17:57
2005.07.18
Считывание сигнала с линейного входа(Line in) звуковой карты




   Наверх