Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > SELECT заропс в хранимой процедуре


Автор: RST8 20.7.2007, 07:36
SQL запрос SELECT оформлен в виде хранимой процедуры. Условие отбора WHERE pole1=value. Как реализовать возможность использования заранее неопределенного множества значений value? Напрмер двух, десяти, тысячи , ...  значений

Автор: Akella 20.7.2007, 14:48
Цитата(RST8 @  20.7.2007,  07:36 Найти цитируемый пост)
заранее неопределенного множества значений value

это как?  smile 

Автор: Lunatikus 20.7.2007, 15:27
RST8,ты,видимо имеешь в виду работу с параметрами:

where pole1=:prm

Значение параметра можешь изменять в любой момент программно.Если к этому моменту уже известен элемент множества value просто приравняй его значение параметру prm.
Не вижу проблемы.Объясни подробнее  smile 

Автор: RST8 20.7.2007, 16:37
Имеется ввиду что value может принимать множество значений сразу, что то вроде одномерного массива. Типа этого 


Код

WHERE (pole1=1) or (Pole1=256) or (...) ...


Сколько этих значений заранее неизвестно, значения не последовательны. SQL Server 2000

Автор: Vas 23.7.2007, 06:30
В процедуре пишем условие следующим образом
Код

WHERE pole1 in (value)


Value делаем строковым параметром и передаем значения через запятую например 1, 256, .... ну и собственно выполняем   smile 

Автор: RST8 29.7.2007, 19:48
Цитата(Vas @  23.7.2007,  06:30 Найти цитируемый пост)
Value делаем строковым параметром и передаем значения через запятую например 1, 256, .... ну и собственно выполняем


Так некатит.

Автор: Marduk 30.7.2007, 08:49
А какой тип у pole1? как он определен в процедуре?

Автор: RST8 30.7.2007, 22:07
Цитата(Marduk @ 30.7.2007,  08:49)
А какой тип у pole1? как он определен в процедуре?

Код

@pole1    char


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)