На главную
ПРАВИЛА 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,0712 ]   [ 15 queries used ]   [ Generated: 21.10.18, 14:33 GMT ]