Adaptive Server Anywhere 支持两种以 XML 格式从您的关系数据中获取查询结果的不同方法:
FOR XML 子句 FOR XML 子句可以用在 SELECT 语句中,以生成 XML 文档。
有关使用 FOR XML 子句的信息,请参见使用 FOR XML 子句以 XML 格式检索查询结果和 SELECT 语句。
SQL/XML Adaptive Server Anywhere 支持基于从关系数据中生成 XML 文档的 SQL/XML 标准草案的函数。
有关在查询中使用这些函数中的一个或多个的信息,请参见使用 SQL/XML 以 XML 的形式获取查询结果。
Adaptive Server Anywhere 支持的 FOR XML 子句和 SQL/XML 函数为您在从关系数据中生成 XML 时提供了两种选择。在大多数情况下,这两种方法生成的 XML 是相同的,您使用哪一种都可以。
例如,这个查询使用 FOR XML AUTO 生成 XML,
SELECT id, name FROM product WHERE color='black' FOR XML AUTO
而这个查询使用 XMLELEMENT 函数生成 XML:
SELECT XMLELEMENT(NAME product,
XMLATTRIBUTES(id, name))
FROM product
WHERE color='black'两种查询都会生成下面的 XML(已对结果进行格式化处理以便更容易阅读):
<product id="302" name="Tee Shirt"/> <product id="400" name="Baseball Cap"/> <product id="501" name="Visor"/> <product id="700" name="Shorts"/>
如果您要生成深度嵌套的文档,FOR XML EXPLICIT 查询可能会比 SQL/XML 查询效率高,因为 EXPLICIT 模式查询通常会使用 UNION 来生成嵌套,而 SQL/XML 使用子查询来生成所需嵌套。
使用 FOR XML 子句以 XML 格式检索查询结果
使用 FOR XML RAW
使用 FOR XML AUTO
使用 FOR XML EXPLICIT
SQL Anywhere Studio 9.0.2
版权所有 © 1989–2005 Sybase, Inc. 部分版权所有 © 2001–2005 iAnywhere Solutions, Inc. 保留所有权利。