Long raw - empty or not?

Alexus12
Дата: 02.08.2005 12:16:56
Есть таблица с полями ID и Long raw, нужно вывести во вьюху оба поля плюс поле, показывающее, есть ли данные в Long raw или там пусто
как сделать это логическое поле?
спасибо!
LeoSam
Дата: 02.08.2005 13:39:47
Да, decode(T.long_raw_column, null, 'EMPTY', 'FULL') не получается, но под "девяткой" славно выглядит
select TR.id, TR.x, nvl2(TR.x, 'FULL', 'EMPTY') from TR.
Если nvl2 нету, то, может, для маленькой по длине таблички можно и два FULL SCAN'а сделать where x is null union all where x is not null, вьюха ведь для участия в запросах! :-)
Alexus12
Дата: 02.08.2005 15:16:14
oracle 8.1.7, сканы делать не хочется 8(
LeoSam
Дата: 03.08.2005 12:57:34
Труба какая-то.. У меня Oracle9i 9.2.0.5.0 и не хочет что-либо делать пакетом dbms_lob с типом long raw - ему подавай blob или clob. Народ окружающий говорит, что long raw устарел, начиная с "восьмерки". Каковую найти не могу, чтобы попробовать там функции dbms_lob. Должны же они работать!
А если надо будет копировать из этой таблицы в новосозданную с данными типа clob, например, то для перекачивания можно пользоваться dbms_sql: .define_column_long, .column_value_long и dbms_lob.write. Впрочем, это я уже предлагаю менять работающую систему :-)
Leonid Kudryavtsev
Дата: 04.08.2005 11:59:35
IMHO Для перекачкивания можно пользоваться ф-цией TO_LOB.

LeoSam
А если надо будет копировать из этой таблицы в новосозданную с данными типа clob, например, то для перекачивания можно пользоваться dbms_sql: .define_column_long, .column_value_long и dbms_lob.write. Впрочем, это я уже предлагаю менять работающую систему :-)
Wolfon Stromboy
Дата: 04.08.2005 12:19:11
получить размер содержимого
NVL(dbms_lob.getlength(To_LOB(Long_Column)),0)
Если >0, то что-то есть, а если = 0, то пусто