質問
製品内の 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 つに結合する必要がある場合は、後処理を実行して改行を削除します。
所属していません StackOverflow