Из документации Oracle (выделение добавлено):
TO_LOB
преобразует LONG
или LONG RAW
значения в столбце long_column
в LOB
значения,Вы можете применить эту функцию только к столбцу LONG
или LONG RAW
, и только в списке выбора подзапроса в выражении INSERT
.
не может использовать его в простом запросе, как вы пытаетесь это сделать.И создание таблицы для вставки строк запроса, вероятно, не очень полезно или практично для вас.
Обработка значений long
обычно немного трудна.Вы можете преобразовать их в CLOB в блоке PL / SQL, например:
declare
l_long long;
l_clob clob;
begin
select query into l_long from dba_mviews;
l_clob := to_clob(l_long);
-- do something with l_clob
end;
/
... но это также, вероятно, не очень полезно, даже если вы создаете функцию, которая возвращает конвейерный CLOB.
Документы DBVisualizer говорят:
Из-за характера двоичных данных / данных BLOB и CLOB ячейки этих типов могут быть полностью изменены и просмотрены только вклеточный редактор.(В редакторе форм имеется частичная поддержка для просмотра данных изображения и загрузки из файла).
В сетке данные Binary / BLOB и CLOB по умолчанию представлены значком и размером значения.Вы можете выбрать другой формат представления в диалоговом окне «Свойства инструмента» в категориях «Сетка / Двоичные данные / BLOB и CLOB» на вкладке «Общие».Выбор по значению приводит к снижению производительности, а потребление памяти резко возрастает.
Это не тот инструмент, который я использовал, но звучит так, будто он обрабатывает и отображает значение long
так, как если быCLOB уже, так что, надеюсь, это все еще применяется.