#0
by Gluk
В PL/SQL Developer простой запрос отрабатывает правильно: SELECT * FROM mytable WHERE item IN('111','222') Использую подключение через "OracleInProcServer.XOraSession": SELECT * FROM mytable WHERE item IN(:Items) Если задать параметр: Parameters.Add("Items", "111", 1) Отрабатывает верно. Задаю параметр: Parameters.Add("Items", "'111','222'", 1) или Parameters.Add("Items", "111,222", 1) Запрос ничего не возвращает. Как правильно задать параметр?
#7
by NorthWind
, чет мне кажется, что не получится в IN массив вставить. Я бы рассмотрел временную или постоянную таблицу, которую предварительно заполнить этими данными и потом сделать селект с условием на содержание элементов в этой таблице.
#12
by Gluk
не, я думаю имеется ввиду это: WITH xx AS ( SELECT '1,2,10,15,27,58,135' ss FROM dual) , yy AS ( SELECT regexp_count(ss,',')+1 nn FROM xx) , zz AS ( SELECT LEVEL mm FROM dual, yy CONNECT BY LEVEL <= yy.nn) FROM xx, zz ORDER BY 1; но не понимаю как это работает
#14
by Asakra
может так: SELECT * FROM mytable WHERE item IN("+СтрокаПараметров+") как-то так: SELECT * FROM mytable WHERE ("+СтрокаПараметров+") like '%'+item+'%'
#19
by NorthWind
Можно, но есть нюанс. Я сталкивался с тем, что у некоторых СУБД есть ограничения на количество значений в списке IN . В частности, встречалась цифра 255 или 256. Поэтому если там может быть реально много данных, то верный вариант - таблица для хранения этих значений и выборка с ней.
#21
by Asakra
задача же "указать несколько значений параметров в запросе с IN" )) сколь там этих значений автор не уточняет...
#31
by dk
если не нравится большое количество элементов в IN то можно эти элементы запихнуть во временную таблицу и перестроить IN (SELECT VAL from #mytemp) Хотя есть мнение что inner join быстрее чем in отработает
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- OLE,OLE,OLE
- Проблемы с работой через OLE, запуск функции через OLE
- "Соединение" с ORACLE. Как из 1С 8.0 добраться до данных в ORACLE?
- 1C_SQL Login failed for user 'sa'
- запрос через ADO в Oracle с параметрами
- Поможите по Outllok+Excel: OLE DB Provider for Outlook 2000 Search
- ошибка СУБД: Microsoft OLE DB Provider for SQL Server
- как передать несколько параметров во внешний отчет по OLE из VFP
- Конвертация данных 1с Oracle
- Ошибка СУБД: Microsoft ole db provider for sql server
- Oracle как внешний источник данных 1C 8.2 через Microsoft ODBC for Oracle
- Несколько значений в поле ввода 1с 8.1
В этой группе 1С
- v7: На чеке онлайн выходит система налогообложения ОСН
- Как обратится к элементу формы справочника с обработки в 1С 8.2?
- Доп реквизиты ут11 Не могу добавить на форму.
- 1C ERP 2.2 Поступление на ответ. хранение с формированием проводок 002 счету?
- ЗУП 3.1 Размер тарифных ставок
- ПТУ не делает движений по счетам учета НДС
- MS SQL: close existing connections to destination database
- Исполнительный лист. 1С УПП 1.3
- Перенос кадров с БП 2,0 в ЗУП 3,1
- разыскивается стабильный релиз 8.3.10 или 8.3.11
- Как изменить текст в поле на УФ
- КА, автоматическое заполнение поля Адрес в документе ЭлектронноеПисьмоИсходящее
- Егаис через rdp
- ЗУП 3.1 выбор периода
- Документооборот 2.1, режим совместимости
- Настройки внешнего отчета при замене cf
- Регистр сведений ПлановыеНачисления ЗУП 3.1
- Hasp для 1С на Ubuntu 16.04 x64
- 8.3 Failure when receiving data from the peer
- Лицензирование УАТ 1.0