WEB开发网
开发学院数据库MSSQL Server Microsoft SQL Server 2005 中的 XML 支持(3) 阅读

Microsoft SQL Server 2005 中的 XML 支持(3)

 2007-05-13 09:26:27 来源:WEB开发网   
核心提示: declare namespace sql='http://schemas.microsoft.com/framework/2003/xml/sql';<Customers>{$for $customer in sql:query("select *
declare namespace sql='http://schemas.microsoft.com/framework/2003/xml/sql';
<Customers>{
$for $customer in sql:query("select * from customers", "conn")/*
return customer
}</Customers>

sql:query 方法使您能够对连接进行 T-SQL 查询,其结果以与 XQuery doc() 函数完全相同的风格作为 XML 文档返回。如果结果是由关系类型组成的,则在客户端作为有效流转换成 XML。如果 SQL 查询的结果已经是 XML,例如 FOR XML 查询或 XML 数据类型的查询,则使用该查询的结果。如果没有返回结果,像在大多数 T-SQL DML 语句的情况下,这解释为空文档,它是有效的。来自此 XQuery 的输出如下所示,它列出了用 Customers 元素包装的顾客表中所有的顾客。在结果中自动为表中的每一行创建行元素。

<Customers>
 <row>
  <CustomerID>ALFKI</CustomerID>
  <CompanyName>Alfreds Futterkiste</CompanyName>
  <ContactName>Maria Anders</ContactName>
  <ContactTitle>Sales Representative</ContactTitle>
  <Address>Obere Str. 57</Address>
  <City>Berlin</City>
  <PostalCode>12209</PostalCode>
  <Country>Germany</Country>
  <Phone>030-0074321</Phone>
  <Fax>030-0076545</Fax>
 </row>
 <row>
  <CustomerID>ANATR</CustomerID>
  <CompanyName>Ana Trujillo Emparedados y helados</CompanyName>
  <ContactName>Ana Trujillo</ContactName>
  <ContactTitle>Owner</ContactTitle>
  <Address>Avda. de la Constitucion 2222</Address
  <City>Mexico D.F.</City
  <PostalCode>05021</PostalCode>
  <Country>Mexico</Country>
  <Phone>(5) 555-4729</Phone>
  <Fax>(5) 555-3745</Fax>
 </row>
...
</Customers>

为了通过 SQL Server 执行此查询,需要使用下面的代码。

上一页  4 5 6 7 8 9 10  下一页

Tags:Microsoft SQL Server

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