2011-01-10 8 views
2

"サービス"と呼ばれる階層的な医療データの自己参照テーブルを持つOracle DBがあります。自己参照OracleテーブルからXMLを生成

サービス

のservice_id ----------数
SERVICE_NAME ----- VARCHAR2(200)
service_parent ---数

サービスには、1つの親サービスとn個の子があります。 「トップレベル」サービスのservice_parent値はゼロになります。

このデータからXML構造を生成する必要があります。私はウェブを精査しましたが、この種のXML生成の例を見つけることはできません。 これは私が必要とするXML出力の例です:

<services> 
    <service id="1" name="Medicine"> 
     <service id="10" name="Anesthesia"> 

     </service> 
    </service> 
    <service id="2" name="Surgery"> 
     <service id="3" name="Cardiology"> 
      <service id="4" name="Bypass"> 

      </service> 
      <service id="5" name="Transplant"> 

      </service> 
      <service id="6" name="Valve Replacement"> 

      </service> 
     </service> 
     <service id="9" name="Ear Nose Throat"> 
      <service id="7" name="Laryngectomy"> 

      </service> 
      <service id="8" name="Septoplasty"> 

      </service> 
     </service> 
    </service> 
</services> 

私はCONNECT_BY_ISLEAF、CONNECT_BY_PATH、CONNECT BY PRIOR、などを使用してみました...しかし、私はそれを得ることができる最も近いだった:

<services> 
<service id="1" name="Medicine" /> 
<service id="10" name="Anesthesia" /> 
<service id="2" name="Surgery" /> 
<service id="3" name="Cardiology" /> 
<service id="4" name="Bypass" /> 
<service id="5" name="Transplant" /> 
<service id="6" name="Valve Replacement" /> 
<service id="9" name="Ear Nose Throat" /> 
<service id="8" name="Laryngectomy" /> 
<service id="7" name="Septoplasty" /> 
</services> 

上記のXML構造を取得する最善の方法は何ですか?

答えて

2

This exampleDBMS_XMLGEN.newContextFromHierarchyを使用すると、あなたがしようとしているものとかなり似ています。

関連する問題