На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное DigiMania RSS
msm.ru
! информация о разделе
user posted imageДанный раздел предназначается исключительно для обсуждения вопросов использования языка запросов SQL. Обсуждение общих вопросов, связанных с тематикой баз данных - обсуждаем в разделе "Базы данных: общие вопросы". Убедительная просьба - соблюдать "Правила форума" и не пренебрегать "Правильным оформлением своих тем". Прежде, чем создавать тему, имеет смысл заглянуть в раздел "Базы данных: FAQ", возможно там уже есть ответ.

Модераторы: Pr0[)!9Y, Akina, JoeUser
  
> Преобразование из CLOB, Oracle
Доброго времени. Описание проблемы:
В таблице S (сводных документов) есть CLOB поле UNOSTR, в которое через разделитель ";" записываются UNO записей из другой таблицы (P), входящие в этот сводный документ. Таковых может более одного. Стоит задача сделать выборку записей из таблицы P всех записей, входящих в запись таблицы S.
Пример значения поля S.UNOSTR
ExpandedWrap disabled
    ;1018650737;1018875502;1018874980;1018874307;1018874139;1018873426;1018719498;1018651138


Хочу сделать выборку типа такой

ExpandedWrap disabled
    select * from P where uno in (/*и вот тут нужно сделать выборку значений из S.UNOSTR CLOB поля таблицы S*/)

Делать преобразование типа
ExpandedWrap disabled
    instr (unostr,to_char(p.uno))>0

можно, но отрабатывает крайне долго, так как записей в таблице P чуть больше чем очень-очень-очень-очень много
Сообщение отредактировано: JoeUser -
Вопрос снят. Решён иным способом (через коллекцию).

Добавлено
Цитата Archelon @
Вопрос снят. Решён иным способом (через коллекцию).

сорри *object types
1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
0 пользователей:


Рейтинг@Mail.ru
[ Script Execution time: 0,0855 ]   [ 20 queries used ]   [ Generated: 20.10.18, 19:19 GMT ]