我们正在尝试重做产品中的SQL。该产品将XML存储在表中,如下所示:
XML_STORAGE - UID IDENTITY - PARENT_ID INTEGER - SEQ INTEGER - XML VARCHAR(3800)
目前的做法如下:
检索PARENT_ID = n的所有ROWS。然后遍历代码中的提取行,并在解析之前将XML字符串连接成一个大的XML。 SEQ列用于对结果进行ORDER,以便可以正确连接XML字符串。希望这很清楚。
我们要做的是重做这个,这样我们就可以使用SQL变量来检索整个字符串,只需从DB2中获取一行。是否有一个DB2函数允许我们将所有这些行中的字符串连接成结果集中的一个大字符串。怎么会这样的SQL看起来。请告诉我。非常感谢任何帮助。
谢谢! - Azeem
答案 0 :(得分:0)
检查DB2中的递归查询,例如提到的here
答案 1 :(得分:0)
是的。锁定XMLELEMENT
,XMLAGG
和XMLSERIALIZE
。对大多数人来说,这应该成功。您可以在以下问题Output a DB2 SQL XML query to a unique XML file
修改强>
为什么不做select '<tag1>', col1. '</tag1><tag2>', col2, '</tag2>' from table
之类的事情?如果您需要将所有行合并为一个而不是运行后处理以删除换行符。