1

製品の SQL を作り直そうとしています。製品は、次のように XML をテーブルに格納します。

XML_STORAGE
- UID IDENTITY
- PARENT_ID INTEGER
- SEQ INTEGER
- XML VARCHAR(3800)

これを行う現在の方法は次のとおりです。

PARENT_ID = n のすべての ROWS を取得します。次に、コード内のフェッチされた行を調べ、解析する前に XML 文字列を 1 つの大きな XML に連結します。SEQ 列を使用して結果を並べ替え、XML 文字列を適切に連結できるようにします。うまくいけば、それは明らかです。

私たちが試みているのは、これを作り直して、SQL バリアントを使用して文字列全体を取得し、DB2 から 1 行だけを取得できるようにすることです。これらすべての行の文字列を結果セットの 1 つの大きな文字列に連結できるようにする DB2 関数はありますか。そのような SQL はどのように見えるでしょうか。私にお知らせください。どんな助けでも大歓迎です。

ありがとう!- アジーム

4

2 に答える 2

0

こちらで説明されているように、DB2 の再帰クエリを確認してください

于 2010-03-22T17:54:49.343 に答える
0

はいあります。XMLELEMENTXMLAGG、および をロックしXMLSERIALIZEます。それはほとんどの人にとってトリックを行うはずです. 次の質問で確認できる例一意の XML ファイルに DB2 SQL XML クエリを出力する

編集:

のようなことをしてみませんselect '<tag1>', col1. '</tag1><tag2>', col2, '</tag2>' from tableか?すべての行を 1 つに結合する必要がある場合は、後処理を実行して改行を削除します。

于 2010-03-22T18:33:34.460 に答える