DB2 最佳实践: 使用 DB2 pureXML 管理 XML 数据的最佳实践,第 3 部分:如何高效并有效率的查询 XML 数据
2009-11-12 00:00:00 来源:WEB开发网提示:SQL/XML 擅长对 XML 的分组和聚集。 XQuery 语言没有提供一个明确的分组构造函数。随然分组和聚集可以在 XQuery 中使用自连接表达,但是这样做太笨拙了。你可以使用 SQL/XML 函数比如 XMLTABLE 或 XMLQUERY 来从 XML 列中抽取数据条目然后使用熟悉的 SQL 概念来再对它们加上分组和聚集的表达。
例如,让我们找出每个交易方都参加的交易号。清单 19 显示如何使用 XMLTABLE 来为后续 SQL 聚集和分组抽取 partyId 值。在 XMLTABLE 函数常常别产生相同结果,使用 SQL group by 和 聚集函数比使用普通 XQuery 得到相同的结果更有效。
清单 19. 使用 XMLTABLE 来分组和聚集
select T.partyId , count(*)
from trades,
xmltable('$TRADEDOC/FpML/party/partyId'
columns
partyId integer path '.' ) as T
group by partyId;
结果是:
PARTYID COUNT
----------- -----------
67781 4
99114 3
510026 3
普通 XQuery
DB2 的所有主要应用程序编程接口(APIs)都支持 XQuery 作为首选语言,就像 SQL 一样。 XQuery 在如下情况有好处:
不需要使用 SQL 或关系型结构的 XML-only 应用程序。
从一个 XML-only 数据库迁移到 DB2 。现有的 XQueries 可以只需较小改动就在 DB2 中运行。例如,XQuery 的输入数据 , 来自 DB2 函数 db2-fn:xmlcolumn() 其它数据库可能叫做 collection() 。在这种情况下一只需要一个简单的重命名。
- ››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 数据模型
更多精彩
赞助商链接