DB2 最佳实践: 使用 DB2 pureXML 管理 XML 数据的最佳实践,第 3 部分:如何高效并有效率的查询 XML 数据
2009-11-12 00:00:00 来源:WEB开发网在下面的章节中,我们将用例子来说明每一个选项的有点和缺点。这个例子涉及到了前面介绍了的在衍生要以数据库中的样本文档。我们同样提供了一些获得你想要的输出格式的窍门。
SQL/XML(SQL 内置 XQuery/XPath)
SQL/XML 是一个 SQL 语言标准的一部分,它定义了一个 XML 数据类型和查询函数,构造函数、验证函数和转换 XML 数据函数。它的标准包括大量的发布的函数允许用户从关系数据构建 XML,也包括像 XMLQUERY、XMLTABLE 和 XMLEXISTS 谓词函数,这些构建函数允许用户在 SQL 语句中嵌入 XQuery 或简单的 XPath 描述。
在下面情况下使用 SQL/XML:
你有一个现有的 SQL 应用程序并需要添加一些这样那样的 XML 功能。
你是一个 SQL 的爱好者并希望把 SQL 作为主要的语言,因为这是你和你的团队最熟悉的语言。
你的查询需要同时从关系型列和 XML 列中返回数据。
你的查询需要通过 DB2 Net Search Extender(NSE)或 OmniFind 产品的全文本搜索环境。
你希望以结果集的形式返回并且缺少 XML 元素的用 nulls 表示。
你想使用参数标签。
这是一些使用 SQL/XML 的例子。
提示:XMLQUERY 函数通常在查询子句中被用来从 XML 列中抽取 XML 片段,虽然 XMLEXISTS 一般被用于 where 子句来表达 XML 数据的谓词。这里有一个例子显示了你可以如何以一个综合的方式使用 SQL/XML 来查询 XML 和关系型数据。 Select 子句可以从关系型和 XML 列中获取数据,并且 where 子句包含了关系型和 XML 两种谓词。
清单 16. SQL/XML 返回关系型和 XML 两种数据
select tradeId, xmlquery('$i/FpML/trade/tradeHeader/tradeDate/text()'
passing tradedoc as "i") as tradeDate
from trades
where xmlexists('$i/FpML/party[partyId="510026"]' passing tradedoc as "i")
and tradeId < 600;
- ››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 数据模型
更多精彩
赞助商链接