DB2 最佳实践: 使用 DB2 pureXML 管理 XML 数据的最佳实践,第 3 部分:如何高效并有效率的查询 XML 数据
2009-11-12 00:00:00 来源:WEB开发网
清单 22. 每行一个 partyId
XQUERY db2-fn:xmlcolumn("TRADES.TRADEDOC")/FpML/party/partyId;
结果集:
<partyId>510026</partyId>
<partyId>67781</partyId>
<partyId>510026</partyId>
<partyId>99114</partyId>
<partyId>99114</partyId>
<partyId>67781</partyId>
<partyId>510026</partyId>
<partyId>67781</partyId>
<partyId>99114</partyId>
<partyId>67781</partyId>
虽然在清单 7 中的查询结果常常更容易被应用程序使用,(例如,一次一个 XML 值)但是有一个缺点是你不知道那些 partyId 元素来自于相同的交易文档。清单 21 中的查询输出通过成对显示 partyIds 保留了这个信息。如果应用程序使用一个 XML 解析器来处理来自 DB2 的每个 XML 结果行,来自于清单 21 的第一个结果行将被解析器拒绝,因为它不是一个良好格式的文档(它缺少一个根元素)。要解决这个问题,你可以像清单 8 一样添加一个单独的跟元素:
清单 23. 添加一个根元素
select XMLQUERY('<partyIdList>{$TRADEDOC/FpML/party/partyId}</partyIdList>')
from trades;
这改变了查询结果,因此每个结果行都是一个有良好格式的 XML 文档。一个结果行的例子(总共有 5 个)是:
<partyIdList><partyId>99114</partyId><partyId>67781</partyId></partyIdList>
- ››db2 对float类型取char后显示科学计数法
- ››DB2中出现SQL1032N错误现象时的解决办法
- ››DB2 锁升级示例
- ››db2诊断系列之---定位锁等待问题
- ››db2 命令选项解释
- ››最佳ASP.NET编程习惯
- ››DB2 最佳实践: 使用 DB2 pureXML 管理 XML 数据的...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 基础: 表空间和缓冲池
- ››DB2 XML 编程,第 1 部分: 理解 XML 数据模型
更多精彩
赞助商链接