ORA-03113在9i上使用extractValue()编译pl / sql时

时间:2018-09-28 13:31:44

标签: xml oracle plsql bulk oracle9i

  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上编译。

在Oracle 9i上失败,并显示ORA-03113。如果我用表Mara_4S中的另一个字段替换ExtractValue(),它也会编译。此代码有什么问题?我在Oracle官方文档的9i中看到了ExtractValue。

谢谢

0 个答案:

没有答案