Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум на Исходниках.RU > Базы данных: SQL > Преобразование из CLOB


Автор: Archelon 21.09.18, 11:05
Доброго времени. Описание проблемы:
В таблице S (сводных документов) есть CLOB поле UNOSTR, в которое через разделитель ";" записываются UNO записей из другой таблицы (P), входящие в этот сводный документ. Таковых может более одного. Стоит задача сделать выборку записей из таблицы P всех записей, входящих в запись таблицы S.
Пример значения поля S.UNOSTR
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    ;1018650737;1018875502;1018874980;1018874307;1018874139;1018873426;1018719498;1018651138


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

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

Делать преобразование типа
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    instr (unostr,to_char(p.uno))>0

можно, но отрабатывает крайне долго, так как записей в таблице P чуть больше чем очень-очень-очень-очень много

Автор: Archelon 21.09.18, 13:29
Вопрос снят. Решён иным способом (через коллекцию).

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

сорри *object types

Powered by Invision Power Board (https://www.invisionboard.com)
© Invision Power Services (https://www.invisionpower.com)