|
|
|
Использование входных переменных в операторах IN и BETWEEN
|
|||
|---|---|---|---|
|
#18+
Привет! Подскажите пожалуйста кто знает. Проблема такая: пробую написать процедуру в которой входная переменная должна использоваться в операторе IN (или BETWEEN), т.е. IN (:входная переменная). Может я что не так пишу или может вообще в этих операторах нельзя такое применять? SQL InterBase 6.5 диалект 3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2004, 20:42 |
|
||
|
Использование входных переменных в операторах IN и BETWEEN
|
|||
|---|---|---|---|
|
#18+
Pa, pa daragoi :) Cto tij hocjes, ponjatj mozjet tolko ..... Malcik ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2004, 21:31 |
|
||
|
Использование входных переменных в операторах IN и BETWEEN
|
|||
|---|---|---|---|
|
#18+
Можечт что-то и не так - примерчик приведи ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2004, 22:15 |
|
||
|
Использование входных переменных в операторах IN и BETWEEN
|
|||
|---|---|---|---|
|
#18+
Привет! Если сможешь - помоги, очень нужно. Ситуация такая: for select * from USERS where USERS.K_REGION in (:IPVALUE1) into :IPVALUE2 do suspend; где IPVALUE1- входной параметр IPVALUE2 - выходной параметр ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2004, 17:14 |
|
||
|
Использование входных переменных в операторах IN и BETWEEN
|
|||
|---|---|---|---|
|
#18+
видимо vikulya пытается передавать как параметр массив? это не работает. in и between в принципе разные вещи, поэтому between :a and :b сработает. если я неправильно стелепатировал, то для полноты информации нужно еще типы переменных сказать, и сказать какая ошибка возникает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2004, 17:20 |
|
||
|
Использование входных переменных в операторах IN и BETWEEN
|
|||
|---|---|---|---|
|
#18+
Попробую внести ясность. Дело обстоит так: пользователь на клиенте в процессе диалога формирует список районов по которым надо вывести данные из таблицы USERS (к примеру расстановкой флажков на форме). Так вот необходимо как-то передать коды этих районов. Если бы они были последовательными то можно было бы сделать через BETWEEN. Но это не так. Я ,извиняюсь за выражение, уже всю башку сломала думая как это сделать. Неужели ничего нельзя придумать?! Люди, помогите! Насчёт типов переменных: пробовала сделать входной параметр BLOB-м для того чтобы передать как массив. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2004, 17:34 |
|
||
|
Использование входных переменных в операторах IN и BETWEEN
|
|||
|---|---|---|---|
|
#18+
не знаю другого способа кроме как передавать это как строку (тип varchar(ну, например, 255)) и потом ее разбирать. чтобы разбирать надо будет использовать UDF. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2004, 18:02 |
|
||
|
Использование входных переменных в операторах IN и BETWEEN
|
|||
|---|---|---|---|
|
#18+
Строка и UDF конечно хорошо но все таки. Есть еще один выход темповая таблица заполняемая нужными значениями и в процедуру выдаем id из темповой таблицы под которым хранятся наши значения простым связыванием таблиц получаем результат ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2004, 18:23 |
|
||
|
Использование входных переменных в операторах IN и BETWEEN
|
|||
|---|---|---|---|
|
#18+
а временные таблицы нельзя делать вроде. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2004, 18:44 |
|
||
|
Использование входных переменных в операторах IN и BETWEEN
|
|||
|---|---|---|---|
|
#18+
Псевдовременные... Плюс псевдогенератор spid'а... %) Если очень захотеть - счастья может и не быть... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2004, 19:18 |
|
||
|
Использование входных переменных в операторах IN и BETWEEN
|
|||
|---|---|---|---|
|
#18+
В этом случае процедуру лучше не использовать. Сделай обычным запросом. Бери FIBPlus и наслаждайся макросами. Запрос можно сделать так: select * from USERS @@WH@ А потом пишешь: with DataSet do begin Close; ParamByName('WH').AsString:='where USERS.K_REGION in ('+ <перечисляешь что хочешь>+')'; Open end ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.02.2004, 19:20 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=32399913&tid=1579262]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
173ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
70ms |
get tp. blocked users: |
2ms |
| others: | 231ms |
| total: | 519ms |

| 0 / 0 |
