1

我们正在尝试对产品中的 SQL 进行返工。该产品将 XML 存储在一个表中,如下所示:

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

目前的做法如下:

检索 PARENT_ID = n 的所有 ROWS。然后检查代码中获取的行,在解析之前将 XML 字符串连接成一个大的 XML。SEQ 列用于对结果进行排序,以便可以正确连接 XML 字符串。希望这很清楚。

我们试图做的是重新设计它,以便我们可以使用 SQL 变体来检索整个字符串并从 DB2 中取回一行。是否有一个 DB2 函数允许我们将所有这些行中的字符串连接成结果集中的一个大字符串。这样的 SQL 看起来如何。请告诉我。任何帮助深表感谢。

谢谢!- 阿泽姆

4

2 回答 2

0

检查 DB2 中的递归查询,例如这里提到的

于 2010-03-22T17:54:49.343 回答
0

就在这里。锁定XMLELEMENT,XMLAGGXMLSERIALIZE。这应该对大多数人有用。您可以在以下问题中看到一个示例Output a DB2 SQL XML query to a unique XML file

编辑:

你为什么不做类似的事情select '<tag1>', col1. '</tag1><tag2>', col2, '</tag2>' from table?如果您需要将所有行合并为一个而不是运行后处理以删除换行符。

于 2010-03-22T18:33:34.460 回答