powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Использование входных переменных в операторах IN и BETWEEN
11 сообщений из 11, страница 1 из 1
Использование входных переменных в операторах IN и BETWEEN
    #32398616
vikulya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет!
Подскажите пожалуйста кто знает.
Проблема такая:
пробую написать процедуру в которой входная переменная должна использоваться в операторе IN (или BETWEEN), т.е. IN (:входная переменная).
Может я что не так пишу или может вообще в этих операторах нельзя такое применять?
SQL InterBase 6.5 диалект 3
...
Рейтинг: 0 / 0
Использование входных переменных в операторах IN и BETWEEN
    #32398626
Malcik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Pa, pa daragoi :)
Cto tij hocjes, ponjatj mozjet tolko .....
Malcik
...
Рейтинг: 0 / 0
Использование входных переменных в операторах IN и BETWEEN
    #32398641
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можечт что-то и не так - примерчик приведи ...
...
Рейтинг: 0 / 0
Использование входных переменных в операторах IN и BETWEEN
    #32399829
vikulya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет! Если сможешь - помоги, очень нужно.
Ситуация такая:
for select * from USERS where USERS.K_REGION in (:IPVALUE1)
into :IPVALUE2
do suspend;

где IPVALUE1- входной параметр
IPVALUE2 - выходной параметр
...
Рейтинг: 0 / 0
Использование входных переменных в операторах IN и BETWEEN
    #32399846
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
видимо vikulya пытается передавать как параметр массив?

это не работает.

in и between в принципе разные вещи, поэтому between :a and :b сработает.

если я неправильно стелепатировал, то для полноты информации нужно еще типы переменных сказать, и сказать какая ошибка возникает.
...
Рейтинг: 0 / 0
Использование входных переменных в операторах IN и BETWEEN
    #32399865
vikulya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробую внести ясность.
Дело обстоит так:
пользователь на клиенте в процессе диалога формирует список районов по которым надо вывести данные из таблицы USERS (к примеру расстановкой флажков на форме).
Так вот необходимо как-то передать коды этих районов. Если бы они были последовательными то можно было бы сделать через BETWEEN.
Но это не так. Я ,извиняюсь за выражение, уже всю башку сломала думая как это сделать. Неужели ничего нельзя придумать?! Люди, помогите!
Насчёт типов переменных: пробовала сделать входной параметр BLOB-м для того чтобы передать как массив.
...
Рейтинг: 0 / 0
Использование входных переменных в операторах IN и BETWEEN
    #32399913
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не знаю другого способа кроме как передавать это как строку (тип varchar(ну, например, 255)) и потом ее разбирать.

чтобы разбирать надо будет использовать UDF.
...
Рейтинг: 0 / 0
Использование входных переменных в операторах IN и BETWEEN
    #32399954
Maks_f
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Строка и UDF конечно хорошо но все таки. Есть еще один выход темповая таблица заполняемая нужными значениями и в процедуру выдаем id из темповой таблицы под которым хранятся наши значения простым связыванием таблиц получаем результат
...
Рейтинг: 0 / 0
Использование входных переменных в операторах IN и BETWEEN
    #32399979
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а временные таблицы нельзя делать вроде.
...
Рейтинг: 0 / 0
Использование входных переменных в операторах IN и BETWEEN
    #32400015
Фотография Kull Damned
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Псевдовременные... Плюс псевдогенератор spid'а... %) Если очень захотеть - счастья может и не быть...
...
Рейтинг: 0 / 0
Использование входных переменных в операторах IN и BETWEEN
    #32400019
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В этом случае процедуру лучше не использовать. Сделай обычным запросом.
Бери FIBPlus и наслаждайся макросами. Запрос можно сделать так:

select * from USERS @@WH@

А потом пишешь:

with DataSet do
begin
Close;
ParamByName('WH').AsString:='where USERS.K_REGION in ('+
<перечисляешь что хочешь>+')';
Open
end
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Использование входных переменных в операторах IN и BETWEEN
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]