DB2 XML Extender とは? (XML Collection その1)

今回はXML文書をいくつかのテーブルに分けて、各要素がその中の適切なカラムに格納されるようにするやり方を紹介します。


XML Columnの時と同じようにDTDファイルは格納します。

コレクションの定義

DADファイルは SALES_ORD という名(これをコレクション名といいます)で以後参照できるように enable_collection を行います。

XML文書の分解/格納 (準備)

コレクション名を指定してXML文書を分解してRDBテーブルのに格納するのには dxxInsertXML という名のストアド・プロシージャを使用するのですが、出力用のパラメータがあるために対話型SQLからは実行できません。
プログラムから呼ぶ場合は関係ありませんが、今回はサンプルとして対話型で実行してみたいのでそれ用のストアド・プロシージャを作成します。

XML文書の分解/格納 (実行)

先の画面で作成したストアド・プロシージャを使用してXML文書をINSERTします。
この時、DAD(neworder1.dad)に従ってデータが各テーブルに格納されます。

どのように格納されているか確認してみましょう。

DADファイル

<RDB_node>
<table name="order_tab" key="order_key"/>
<table name="part_tab" key="part_key"/>
<table name="ship_tab" key="ship"/>

とあるように、order_tab、part_tab、ship_tab というテーブルが作成されています。(実際には enable_colletion 実行時に作成されています)

それぞれに値が格納されているのが確認できます。

[Top Pageに戻る]

Ads by TOK2