質問

製品内の SQL を再加工しようとしています。製品は、次のように XML をテーブルに保存します。

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

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

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

私たちがやろうとしているのは、これを再加工して、SQL バリアントを使用して文字列全体を取得し、DB2 から 1 行だけフェッチできるようにすることです。これらすべての行の文字列を結果セット内の 1 つの大きな文字列に連結できる DB2 関数はありますか。このような SQL はどのようになるでしょうか。私にお知らせください。ご協力をよろしくお願いいたします。

ありがとう!- アジーム

役に立ちましたか?

解決

上記のような DB2 の再帰クエリを確認します。 ここ

他のヒント

はいあります。閉じ込める XMLELEMENT, XMLAGG, 、 そして XMLSERIALIZE. 。ほとんどの人にとってこれでうまくいくはずです。次の質問でわかる例 DB2 SQL XML クエリを一意の XML ファイルに出力します。

編集:

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top