powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Параметр для использования в in
11 сообщений из 11, страница 1 из 1
Параметр для использования в in
    #34090643
W357
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно ли в Sybase 12.5.0.3 использовать параметр в инструкции in?
вроде того:
Код: plaintext
Select * from Table where code in @List

Нужно написать процедуру, которая будет вытаскивать данные по определенным пользователем записям.
...
Рейтинг: 0 / 0
Параметр для использования в in
    #34090648
W357
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в смысле не Sybase 12.5.0.3 а ASE 12.5.0.3
...
Рейтинг: 0 / 0
Параметр для использования в in
    #34091072
Фотография Сашко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что то я сильно сомневаюсь что такое можно, в SQL Server 2000 точно нет.

Нужно компоновать динамический запрос, если же список значений в in и таблица большие, то такая конструкция вообще не будет эффективной - нужно идти другим путем, например, так делается для SQL Server: http://www.sommarskog.se/arrays-in-sql.html
...
Рейтинг: 0 / 0
Параметр для использования в in
    #34091246
W357
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пока придумал только такой вариант:
Код: plaintext
select * from table where charindex('-'+convert(varchar(размер поля),code)+'-',@list)> 0 
При этом @list должен быть вида "-10--3--4--45-", т.е. каждый элемент слева и справа обрамляется "-" (можно и другим) и @list типа varchar(16384). Без указания размерности неработает... а с указанием есть ограничение на предельное число элементов. В моем случае 900 элементов, в принципе для ручного выбора пользователем этого достаточно, но...
...
Рейтинг: 0 / 0
Параметр для использования в in
    #34091512
Фотография Сашко
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Из приведенной выше статьи:

The ones (методы решения данной проблемы) to stay away from:
...
Really slow methods. Methods that uses charindex, patindex or LIKE. These solutions are just unbelievably slow even for short input.
...
Рейтинг: 0 / 0
Параметр для использования в in
    #34091585
W357
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
СашкоИз приведенной выше статьи:

The ones (методы решения данной проблемы) to stay away from:
...
Really slow methods. Methods that uses charindex, patindex or LIKE. These solutions are just unbelievably slow even for short input.
Знаешь решение лучше - приведи пример.
Я пока реализую так, потом возможно переделаю.
Сроки ограничены, сдать работу нужно уже сегодня. Времени думать - нет.
...
Рейтинг: 0 / 0
Параметр для использования в in
    #34091872
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По моему всегда проще и легче не в стринговый список с разделителем такие значения запихивать, а в временные таблицы. Заполнил клиент времянку, вызвал процедуру, а она на времянке уже по тому же IN сделала что надо и все довольны :)

--
www.rusug.ru - портал русскоязычной группы пользователей Sybase
...
Рейтинг: 0 / 0
Параметр для использования в in
    #34092611
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет.
...
Рейтинг: 0 / 0
Параметр для использования в in
    #34092733
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот статейка неплохая по этому поводу .
Одно НО - она всё же про MS SQL Server. Но если учесть общие корни и некоторую степень родства между MS SQL Server и SyBase ASE, то, возможно, Вам удастся адаптировать приведенные там примеры под свои нужды...
...
Рейтинг: 0 / 0
Параметр для использования в in
    #34092756
W357
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щукина Анна Вот статейка неплохая по этому поводу .
Одно НО - она всё же про MS SQL Server. Но если учесть общие корни и некоторую степень родства между MS SQL Server и SyBase ASE, то, возможно, Вам удастся адаптировать приведенные там примеры под свои нужды...
Похоже это переведенная статья приведенная выше.
Спасибо. Как будет время попробую разобраться, а пока другие проблемы надо решить.
Еще трудность - все нужно делать в процедурах. Никакого SQL в программе. Поэтому чем меньше процедур - тем лучше, а то потом права запаришся давать.
...
Рейтинг: 0 / 0
Параметр для использования в in
    #34093032
W357
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот облом.
Максимум для char data = 486...
этого жестоко мало!
Придется видимо делать реальную таблицу и процедуру для ее заполнения...
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Параметр для использования в in
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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