0 / 0 / 0
Регистрация: 29.10.2013
Сообщений: 71
|
||||||
1 | ||||||
Перенести в хранимую процедуру значение из таблицы, которое выглядит как перечень слов08.04.2014, 09:34. Показов 1348. Ответов 4
Метки нет (Все метки)
Всем привет.
Подскажите, может кто сталкивался. Возможно ли одной из переменных для процедуры присвоить значение из таблицы, которое имеет формат перечня. Например:
0
|
08.04.2014, 09:34 | |
Ответы с готовыми решениями:
4
Как передать имя таблицы параметром в хранимую процедуру Как занести данные сразу в три таблицы через хранимую процедуру? Как создать хранимую процедуру для заполнения таблицы с уникальными ключами? Как передать имя таблицы в хранимую процедуру и потом удалить все записи в ней? |
4217 / 3058 / 583
Регистрация: 21.01.2011
Сообщений: 13,205
|
|
08.04.2014, 10:08 | 2 |
Это пример плохого проектирования. Хранение списка в поле - это нереляционный подход. В подобных случаях список запихивают в отдельную таблицу, тогда в IN будет стоять самый обычный SELECT (подзапрос). Иначе этот список каждый раз придется парсить
0
|
0 / 0 / 0
Регистрация: 29.10.2013
Сообщений: 71
|
||||||
08.04.2014, 10:20 [ТС] | 3 | |||||
Grossmeister,
Вы конечно правы, но остальные способы, которые приходят мне на ум слишком громоздки. Занчение c_5 заполняется фио, которые выбраны в listbox vba, кол-во вариаций, которые туда может добавить пользователь слишком велико для какой то идентификации. Мне показалось, что легче записывать в ячейку oracle таблицы выбранный перечень через запятую и передавать его в процедуру с условием IN. И всё таки, может подскажите синтаксис? Например вот это не работает:
0
|
4217 / 3058 / 583
Регистрация: 21.01.2011
Сообщений: 13,205
|
|
08.04.2014, 10:52 | 4 |
Нет такого синтаксиса, не предусмотрено. Придется каждый раз парсить такую строку в какой-нибудь процедуре, запихивать отдельные значения в таблицу (хотя бы временную) и уже оттуда делать SELECT. Именно поэтому я сказал, что проще их сразу запихивать в отдельную таблицу. Структура такой таблицы достаточно проста:
id записи в родит. таблице | 1 значение из списка Сколько значений где-то там было выбрано, столько строк будет в этой таблице. PS Прежде чем принимать решения о структуре данных, неплохо бы попробовать на тесте, можно ли с такой структурой работать
1
|
0 / 0 / 0
Регистрация: 29.10.2013
Сообщений: 71
|
|
08.04.2014, 11:19 [ТС] | 5 |
Grossmeister,
Спасибо большое за информацию. (кстати только Вы обычно и отвечаете на мои вопросы) Я и ковыряюсь на тесте. Буду пробовать Ваш вариант.
0
|
08.04.2014, 11:19 | |
08.04.2014, 11:19 | |
Помогаю со студенческими работами здесь
5
Нужно написать хранимую процедуру, где бы переменная служила бы названием таблицы Как перенести значение массива в другую процедуру? Передать значение Edit в хранимую процедуру VIB с помощью IBQuery1 Нужно вызвать хранимую процедуру (запрашивает параметры и возвращает значение) из ASP (VBscript) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |