parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Ответ

Alex Nickolaenkov 07.04.2006 10:51 / 07.04.2006 11:05

2. вы где-то допустили опечатку: parser'у вы сказали, что привязываете переменную «returning_value», и вроде бы её и выдаёте из PL/SQL, однако в сообщении об ошибке ясно виден кусочек: «:my_table.data». там должно быть «:returning_value». перепроверьте.

-- код, для того чтобы он стал более понятен, правил прямо когда писал в форум, а сообщение об ошибке скопировал.

PAF, если я правильно вас понял, то оракловыми средствами надо переделать ответы - надо возвращать из базы строки, которые можно потом будет переделать в Парсеровские таблицы. Вернуть что-нибудь вроде tab-delimited и сней работать? (*С Ораклом у меня глухо, если можете объясните. *), а если так:
select to_char(Get_Simple_Field_as_Date(docid, 'DATE',  'WEB_SOURCE'), 'DD.MM.YYYY') || ' г.',
               Get_Simple_Field_as_Clob(docid, 'TITLE', 'WEB_SOURCE')
               into :oracle_output
               from (select document_id docid
                     from documents_tree
                     where dockind_id = PKG_ID_CACHE.Get_Kind_ID('WEB_SOURCE')
                     and doc_name = '/\'
                     order by to_char(Get_Simple_Field_as_Date(document_id, 'DATE', 'WEB_SOURCE'), 'YYYYMMDD') desc,
                     document_id desc
)^;
P.S. Надо бы в документацию эту полезную информацию добавить. Вчера долго читал - там ничего нет про привязку только простых типов.

P.P.S.
Причешу мысли:
1. Из оракла селектами можно вытаскивать таблицы
2. Внутренняя структура базы настолько сложна, что писать и отлаживать селекты - нет смысла.
3. Есть оракловые процедуры, которые возвращают с некторомы извращениями то что надо ( выше - пример получения новостей из этой базы)

Отсюда вопрос: Как сделать рационально. Стоит ли переделывать Ораклом таблицы -> простые переменные. Ведь должен же быть способ, где все просто.