4

私は、Extract と ExtractValue で過去に使用したように、SQL クエリで解析したい xml を詰め込んだかなり複雑な clob を oracle に持っています。

名前 タイプ
ATTRIBUTES CLOB

過去に使用した簡単なクエリ

    SELECT   EXTRACT(EXTRACT(xmltype.createxml(ATTRIBUTES),
'/Attributes/Map/entry[@key=""buildMapRule""]'),'/entry/@value').getStringVal() AS RULE
    FROM SPT_APPLICATION

これは、このような XML から単純なデータを取得するために機能していました
<Attributes>
  <Map>
    <entry key="afterProvisioningRule"/>
    <entry key="beforeProvisioningRule"/>
    <entry key="buildMapRule" value="Build Map Rule - ALM"/>
  </Map>
</Attributes>

しかし、今、私はこのようなものを持っています
<Attributes>
 <Map>
   <entry key="buildMapRule" value="Build Map Rule - ALM"/>
   <entry key="compositeDefinition"/>
   <entry key="disableOrderingCheck">
     <value>
       <Boolean>true</Boolean>
     </value>
   </entry>
   <entry key="group.mergeRows">
     <value>
       <Boolean></Boolean>
     </value>
   </entry>
   <entry key="group.useExecuteQuery">
     <value>
       <Boolean></Boolean>
     </value>
   </entry>
   <entry key="myColumns">
     <value>
       <List>
         <String>Account Index</String>
         <String>Account Index2</String>
         <String>Account Index3</String>
       </List>
     </value>
   </entry>
 </Map>
</Attributes>

このxmlのデータを、オラクル風味のSQLを使用して使用可能な形式で抽出したい.....このようなものですが、それが別の形式である場合も喜んで聞きます...基本的にフラット化された形式です....私はxmlTable を考えることは私を助けますが、すべての列を知らなくても動的に行うことができます ( XML 複雑な解析) このリンクは明らかに列と型を知っていました

entryKey entryValue subComponentName subComponentValue

4

1 に答える 1