Модераторы: Akella
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> На входе либо null либо значение, Хранимая процедура, firebird 
V
    Опции темы
WhiteSpirit
Дата 4.5.2007, 08:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 242
Регистрация: 1.6.2005
Где: Челябинск

Репутация: нет
Всего: нет



Здравствуйте,
столкнулся с следующей проблемой:

из программы в ХП передается значение (integer). Если значение не передается до делается полная выборка по запросу, если значение не пустое, то должно срабатывать условие в запросе

входящий параметр: in_param
...

Код

begin
  for
     select ...
     from ...
     where ... and
     where id = :in_param
-- вот здесь и загвоздка, если значение не передается то данные в результатах отсутствую, так как null, а желательно все данные вывести
...
end


Кончено можно через if(in_param is not null)... else внчале процедуры сделать, но тогда процедура становится громоздкой, так как необходимо дважды писать запрос (с параметром и без).

Подскажите плиз, как решается проблема?
--------------------
To beer or no to beer
PM MAIL   Вверх
Alex
Дата 4.5.2007, 08:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 7
Всего: 162



where ((:in_param is null) or (id = :in_param))


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
WhiteSpirit
Дата 4.5.2007, 08:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 242
Регистрация: 1.6.2005
Где: Челябинск

Репутация: нет
Всего: нет



Спасибо огромное!!!
"+"
--------------------
To beer or no to beer
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Interbase"
Alex

Обязательно указание:

1. Версию InterBase (Firebird, Yaffil)

2. Способа доступа (ADO, BDE, IBX и т.д.)

  • КАК ПРАВИЛЬНО ОФОРМИТЬ КОД - ЗДЕСЬ
  • КАК ПРАВИЛЬНО УКАЗАТЬ ТЕКСТ ОШИБКИ - ЗДЕСЬ
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • FAQ раздела лежит здесь!

Если Вам понравилась атмосфера форума, заходите к нам чаще! С Уважением, Akella.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Firebird, Interbase | Следующая тема »


 




[ Время генерации скрипта: 0.0423 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.