ORA-03113 при компиляции pl / sql с extractValue () на 9i - PullRequest
0 голосов
/ 28 сентября 2018
  Declare
  pData Xmltype := Xmltype('something ...');
    Type t Is Record (
         mara_matnr Varchar2(50),
         mara_begru Varchar2(50)
         );
  Type T_MARATAB Is Table Of t;
  lt_mara      T_MARATAB;

Begin
 Select m.mara_matnr                              as MARA_MATNR,
        ExtractValue(value(t),'/MARA/MARA_BEGRU') as MARA_BEGRU           
 Bulk Collect Into lt_mara
 From Table( XMLSequence( extract( pData, '/ARTICLE/MARA') ) ) t
 Left Outer Join Mara_4S m On m.mara_matnr='XYZ';          
End;

Мои данные XML могут содержать повторяющиеся узлы, поэтому я использую ExtractValue и Bulk Collect.Этот код компилируется в Oracle11.

Сбой ORA-03113 в Oracle 9i.Если я заменю ExtractValue () другим полем из таблицы Mara_4S, оно тоже скомпилируется.Что не так с этим кодом?Я видел, что ExtractValue доступен в 9i в официальном документе Oracle.

Спасибо

...