Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 xmltype(cursor(...)).getStringVal() с пустым курсором  [new]
Сэмка
Member

Откуда:
Сообщений: 372
Нужно забрать данные некоторого запроса. Все работает отлично, пока запрос возвращает данные. В этом случае возникает ошибка 06502: xmltype из пустого курсора не создается. Есть ли какой-то трюк, чтобы эта ошибка давилась и конструкция типа

select 'a', 'b', xmltype(cursor(select 1 from dual where 1=0)).getStringVal() from dual

возвращала ('a', 'b', null)?

ЗЫ Предложения забирать данные абсолютно по-другому не интересуют, я их и так знаю. Как и приведение запроса к виду
select 1 from dual where 1=0 and exists (select 1 from dual where 1=0 )
union
select null from dual where 1=0 and not exists (select 1 from dual where 1=0 )
6 мар 07, 17:14    [3871269]     Ответить | Цитировать Сообщить модератору
 Re: xmltype(cursor(...)).getStringVal() с пустым курсором  [new]
Сэмка
Member

Откуда:
Сообщений: 372
Снимается. Бился-бился, спросил - и тут же сам понял, что делать. Нужно использовать конструктор createxml:
select xmltype.createxml(cursor (select 1 from dual where 1 = 0)) .getClobVal()
  from dual
6 мар 07, 17:24    [3871329]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить