WEB开发网
开发学院数据库DB2 DB2 最佳实践: 使用 DB2 pureXML 管理 XML 数据的... 阅读

DB2 最佳实践: 使用 DB2 pureXML 管理 XML 数据的最佳实践,第 3 部分:如何高效并有效率的查询 XML 数据

 2009-11-12 00:00:00 来源:WEB开发网   
核心提示: 在下面的章节中,我们将用例子来说明每一个选项的有点和缺点,DB2 最佳实践: 使用 DB2 pureXML 管理 XML 数据的最佳实践,第 3 部分:如何高效并有效率的查询 XML 数据(2),这个例子涉及到了前面介绍了的在衍生要以数据库中的样本文档,我们同样提供了一些获得你想要的输出格式的窍

在下面的章节中,我们将用例子来说明每一个选项的有点和缺点。这个例子涉及到了前面介绍了的在衍生要以数据库中的样本文档。我们同样提供了一些获得你想要的输出格式的窍门。

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;

上一页  1 2 3 4 5 6 7  下一页

Tags:DB 最佳 实践

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接