Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Массив в ХП
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток! ХЕЛП! Ессть форма со списком CheckLictBox. Пользователь отмечает нужные пункты. Далее, по отмеченным пунктам формируется список ID. Есть ХП, в которой надо сделать выборку типа Select нечто From таблица Where ID In (тот самый список, который собрал пользователь) . ВОПРОС: как передать этот список в ХП? Заранее благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2005, 14:50 |
|
||
|
Массив в ХП
|
|||
|---|---|---|---|
|
#18+
Это вопрос в форум по той СУБД, которую вы используете. Обычно передают строкой с разделителями... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2005, 15:10 |
|
||
|
Массив в ХП
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. Best regards, Dnico . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2005, 17:01 |
|
||
|
Массив в ХП
|
|||
|---|---|---|---|
|
#18+
Dnico Код: plaintext 1. Best regards, Dnico . Для таблица с миллионами записей это решение будет "немножко" медленным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2005, 17:04 |
|
||
|
Массив в ХП
|
|||
|---|---|---|---|
|
#18+
авторДля таблица с миллионами записей это решение будет "немножко" медленным. тогда можно вот так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Best regards, Dnico . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2005, 17:30 |
|
||
|
Массив в ХП
|
|||
|---|---|---|---|
|
#18+
Dnicoтогда можно вот так: Уже было. /topic/175575. P.S. Тяжело там, где нет массивов-параметров :) Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.04.2005, 17:58 |
|
||
|
Массив в ХП
|
|||
|---|---|---|---|
|
#18+
softwarerP.S. Тяжело там, где нет массивов-параметров :) Но только при условии, что в СУБД нет поддержки временных таблиц. Иначе и без массивов параметров можно прекрасно жить на времянках :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2005, 08:02 |
|
||
|
Массив в ХП
|
|||
|---|---|---|---|
|
#18+
ASCRUSНо только при условии, что в СУБД нет поддержки временных таблиц. Иначе и без массивов параметров можно прекрасно жить на времянках :) Насчет "прекрасно" - это слегка из серии "прекрасно ездить на жигулях, пока не ездил на мерседесе" :) Физическая реализация, разумеется, может быть разной, и временная таблица как одна из возможных реализаций безусловно полезна. Но "объект, который передается по имени" - имхо не самая удачная из имеющихся концепций. Также часто удобна возможность работать напрямую, не через DML. Там, где это есть, где можно именно что передать временную таблицу как параметр - замечательно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2005, 15:05 |
|
||
|
Массив в ХП
|
|||
|---|---|---|---|
|
#18+
softwarer ASCRUSНо только при условии, что в СУБД нет поддержки временных таблиц. Иначе и без массивов параметров можно прекрасно жить на времянках :) Насчет "прекрасно" - это слегка из серии "прекрасно ездить на жигулях, пока не ездил на мерседесе" :) Физическая реализация, разумеется, может быть разной, и временная таблица как одна из возможных реализаций безусловно полезна. Но "объект, который передается по имени" - имхо не самая удачная из имеющихся концепций. Также часто удобна возможность работать напрямую, не через DML. Там, где это есть, где можно именно что передать временную таблицу как параметр - замечательно. Я не имел ввиду передачу временной таблицы в качестве параметров, тем более что это не поддерживается :) Делается просто глобальная времянка NOT TRANSACTIONAL, клиентское приложение в нее выставляет что и сколько хочет, дальше соединяя обычным INNER JOIN мы в любой момент отфильтруем запрос на выбранные и занесенные в времянку записи. Ни о каком DML естественно речи идти не может - глобальная времянка разделяет данные для каждой сессии и создается автоматически для вновь подключаемой сессии. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2005, 15:25 |
|
||
|
Массив в ХП
|
|||
|---|---|---|---|
|
#18+
гм, рано нажал "отправить" :) В данном случае, с учетом того, что операторы DML не требуют подтверждения завершения транзакции, так как таблица в них не участвует (NOT TRANSACTIONAL), то клиент спокойно может добавлять, изменять и удалять ее содержимое и использовать его тогда, когда ему это нужно в запросах, ХП и т.д. У меня таким образом сделаны пользовательские фильтры, где в одном месте клиентского приложения в такую времянку генерятся все ID, которые будут участвовать в процессе работы и потом до перегенерации фильтра все клиентское приложение и серверный код с любых модулей уже точно знают, с кем работают в групповых режимах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2005, 15:29 |
|
||
|
Массив в ХП
|
|||
|---|---|---|---|
|
#18+
ASCRUSЯ не имел ввиду передачу временной таблицы в качестве параметров, тем более что это не поддерживается :) Вот именно это "не поддерживается" я и имел в виду. Фактически подпрограммы вынуждены получать данные из глобальной переменной, записывать в нее что-то и неявно передавать ее дальше. Максимально неудачный режим, с моей точки зрения :) NOT TRANSACTIONAL - безусловно, вариант, который должен быть в арсенале. Собственно это и отличает абстрактную "переменную" от "таблицы". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2005, 12:50 |
|
||
|
Массив в ХП
|
|||
|---|---|---|---|
|
#18+
ASCRUSУ меня таким образом сделаны пользовательские фильтры, где в одном месте клиентского приложения в такую времянку генерятся все ID, которые будут участвовать в процессе работы Для этого варианта инструмент, безусловно, идеальный. В Oracle для этого пришлось бы использовать некую дополнительную механику; как именно оптимально - не скажу сходу; наиболее похожим решением, пожалуй, будет заполнять таблицу фильтра в автономной транзакции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2005, 12:55 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=33043929&tid=1545913]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
69ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 248ms |
| total: | 404ms |

| 0 / 0 |
