JDBC Driver for XML

Build 23.0.8839

垂直フラット化

垂直フラット化クエリを使用すると、ネストされた要素を個別のテーブルのように取得することが可能です。

垂直フラット化クエリ構文

FROM 句では、ドット表記を使用してネストされた要素にドリルダウンできます。

SELECT * FROM [people.vehicles] 

Consider a single array element from the Raw データ document -- a person object from an array of people:

<?xml version="1.0" encoding="UTF-8" ?>
<root>
<people>
  <personal>
    <age>20</age>
    <gender>M</gender>
    <name>
      <first>John</first>
      <last>Doe</last>
    </name>
  </personal>
  <vehicles>
    <type>car</type>
    <model>Honda Civic</model>
    <insurance>
      <company>ABC Insurance</company>
      <policy_num>12345</policy_num>
    </insurance>
    <maintenance>
      <date>07-17-2017</date>
      <desc>oil change</desc>
    </maintenance>
    <maintenance>
      <date>01-03-2018</date>
      <desc>new tires</desc>
    </maintenance>
  </vehicles>
  <vehicles>
    <type>truck</type>
    <model>Dodge Ram</model>
    <insurance>
      <company>ABC Insurance</company>
      <policy_num>12345</policy_num>
    </insurance>
    <maintenance>
      <date>08-27-2017</date>
      <desc>new tires</desc>
    </maintenance>
    <maintenance>
      <date>01-08-2018</date>
      <desc>oil change</desc>
    </maintenance>
  </vehicles>
  <source>internet</source>
</people>
</root> 
  

接続文字列

次の接続文字列を使用すると、本製品 はネストされたデータをパースしません。データはクエリを実行すると処理されます。デフォルトのFlattenObjects 機能により、トップレベル要素のプロパティはフラット化されます。ネストされたデータはXML の集計として返されます。

URI=C:\people.txt;DataModel=Document;XPath='/root/people;'

クエリ

垂直フラット化ではvehicles 要素を別々のテーブルとして取得することを許可します。

SELECT * FROM [people.vehicles]
このクエリは、次のデータセットを返します。

featuresinsurance.companyinsurance.policy_nummaintenancemodeltype

<features>sunroof</features><features>rims</features>
ABC Insurance12345
<maintenance><date>07-17-2017</date><desc>oil change</desc></maintenance><maintenance><date>01-03-2018</date><desc>new tires</desc></maintenance>
Honda Civiccar

<features>lift kit</features><features>tow package</features>
ABC Insurance12345
<maintenance><date>08-27-2017</date><desc>new tires</desc></maintenance><maintenance><date>01-08-2018</date><desc>oil change</desc></maintenance>
Dodge Ramtruck

<features>upgraded stereo</features>
Car Insurance98765
<maintenance><date>05-11-2017</date><desc>tires rotated</desc></maintenance><maintenance><date>11-03-2017</date><desc>oil change</desc></maintenance>
Toyota Camrycar

<features>custom paint</features><features>custom wheels</features>
Car Insurance98765
<maintenance><date>10-07-2017</date><desc>new air filter</desc></maintenance><maintenance><date>01-13-2018</date><desc>new brakes</desc></maintenance>
Honda Accordcar

Copyright (c) 2024 CData Software, Inc. - All rights reserved.
Build 23.0.8839