У меня есть таблица, в которой есть столбец типа LONG. Если я напишу базовый запрос, чтобы получить значение этого длинного colmun, я получу правильные результаты.
Например:
select long_text from fnd_documents_long_text;
Возвращает правильное значение.
Но если я попытаюсь использовать оператор case со столбцом LONG, он выдаст ORA-00997: Недопустимое использование ошибки типа данных LONG.
Я пытаюсь написать следующий запрос:
select case when datatype_id = 2 then
( select long_text from fnd_documents_long_text where media_id= fd.media_id) end Text
from fnd_documents fd where document_id = 715193;
Подскажите, пожалуйста, как мне получить значение столбца LONG внутри оператора case в запросе Select.
Что мне действительно нужно, так это то, что если datatype_id = 1, тогда получите short_text из таблицы fnd_documents_short_text, иначе, если datatype_id равен 2, тогда получите long_text из таблицы fnd_documents_long_text, где "long_text" имеет тип данных LONG. Это стандартные таблицы приложений Oracle. Я пишу свой запрос, как показано ниже ... но он не работает нормально:
select case when datatype_id = 1 then ( select short_text from fnd_documents_short_text where media_id =fd.media_id)
when datatype_id = 2 then ( select long_text from fnd_documents_long_text where media_id =fd.media_id)
end Text
from fnd_documents fd where document_id = 715193 ;
Спасибо,
Абх