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

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

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

先の画面で作成したストアド・プロシージャを使用してXML文書をINSERTします。
この時、DAD(neworder1.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 実行時に作成されています)

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



|
|