У меня есть таблица (AKADMIN) со столбцом XMLTYPE с именем XML. Я хотел бы использовать getClobVal() с этим столбцом.
select t.xml.getClobVal() /**/
, t.xml.getClobVal() --
, t.xml.getClobVal() as clobval
, t.xml.getClobVal()
from akadmin t where ROWID = 'AAAQc6AAIAAAADDAAA' ;
В наборе результатов первые 4 столбца дают тип CLOB, а пятый столбец XMLTYPE. Я должен ввести любой комментарий или псевдоним после getClobVal(), чтобы исправить (CLOB) тип результата. Почему?
Другая проблема, когда я оставляю псевдоним имени таблицы:
select xml.getClobVal()
from akadmin t where ROWID = 'AAAQc6AAIAAAADDAAA' ;
Он бросает ORA-00904 string: invalid identifier
Хммм...
У кого-нибудь есть идеи?
Дополнительная информация о среде: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0; Разработчик PL/SQL 10.0.5.1710
Но попробовал это в нашем приложении Java через OJDBC6 с теми же результатами.
xml
) не может быть разрешена. Включение имени/псевдонима таблицы делает это первой частью. В остальном, как вы определяете типы данных, которые вы возвращаете? Где вы выполняете это и где вы видите типы? Если вы создадите представление из этого (например) и опишете это представление, все четыре столбца будутCLOB
. Так что действительно не уверен, что вы делаете... - person Alex Poole   schedule 20.10.2014Select xmlsomething.getClobVal() From (Select xml As xmlsomething From AKADMIN_v v Where Rowid = 'AAAQc6AAIAAAADDAAA');
- person m_and_m   schedule 20.10.2014<CLOB>
в PL/SQL Developer 8.0.1 для базы данных 11gR2. Так что не знаю, видите ли вы ошибку разработчика PL/SQL или ошибку Oracle - возможно, зависит от версии, в зависимости от того, что это такое... - person Alex Poole   schedule 20.10.2014