如何使用SQL Server 2000中的XML功能--.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
如何使用SQL Server 2000中的XML功能--.doc

  如何使用SQL Server 2000中的XML功能   在本文中我们将讨论如何通过T-SQL的FOR XML子句从SQL Server返回XML。本文将通过几个例子来介绍返回XML数据和架构信息的几种不同方式,还将介绍将XML转换成更令人满意的格式的方法。然后讨论OPENXML,以及将XML文档联接到数据库表和使用L的方法。   SQL Server 2000提供了一些XML功能,用于通过XML将关系行集合转换成分层的XML文档、读取XML文档和批量加载数据。例如,可以将XML文档传递到存储过程,将XML联接到某些表并返回一个行集合,甚至可以在数据库中修改数据。XML在当今企业系统中不断扩展的功能促进了OPENXML函数和FOR XML语句的引入。其中某些功能不但支持XML,而且还提高批量加载数据时的性能。   在本文中我们将讨论如何通过T-SQL的FOR XML子句从SQL Server返回XML。本文将通过几个例子来介绍返回XML数据和架构信息的几种不同方式,还将介绍将XML转换成更令人满意的格式的方法。然后讨论OPENXML,以及将XML文档联接到数据库表和使用L的方法。这些例子的SQL,以及执行其中某些例子并将它们导出为文本文件的示例ASP. 项目,都可从MSDN Magazine L将记录插入和更新到数据库的代码。   返回XML   当用于SELECT语句中时,FOR XML子句指示SQL Server将数据作为XML返回,这与标准行集合相反。可以指定返回模式:RAL的不同转换方式(图 1 给出了各种模式的概述)。   图 1 FOR XML模式概述 模式说明RAL元素。lt;roployees表,它会在lt;roployeeID, FirstName, LastName FROM Employees L RA Employees L AUTO lt;Employees EmployeeID=1 FirstName=Nancy LastName=Davolio/gt; lt;Employees EmployeeID=9 FirstName=Anne LastName=Dodsers.CustomerID, panyName, OrderID, CONVERT(VARCHAR(10), OrderDate, 101) AS OrderDate FROM   Customers INNER JOIN Orders ON Customers.CustomerID = Orders.CustomerID ORDER BY Customers.CustomerID  本例将检索一种一对多父子关系。若执行该SQL语句,则将返回一系列客户及其相应定单。若附带FOR XML RAL结果将包含一个表示所返回的每一行的单lt;roerID为ALFKI时FOR XML RAL数据   请注意,这些数据不以父子层次结构显示。若想让数据显示为包含一系列相关lt;Ordersgt;元素的一系列lt;Customersgt;元素,则可使用FOR XML AUTO子句(父子嵌套方法取决于成组聚集的父行)。CustomerID为ALFKI 时的XML结果如下: lt;Customers CustomerID=ALFKI panyName=Alfreds Futterkistegt; lt;Orders OrderID=10643 OrderDate=08/25/1997 /gt; lt;Orders OrderID=10692 OrderDate=10/03/1997 /gt; lt;Orders OrderID=10702 OrderDate=10/13/1997 /gt; lt;Orders OrderID=10835 OrderDate=01/15/1998 /gt; lt;Orders OrderID=10952 OrderDate=03/16/1998 /gt; lt;Orders OrderID=11011 OrderDate=04/09/1998 /gt; lt;/Customersgt;  该XML的可读性大大提高,因为它使用表名来作为元素名。它所包含的数据也比较少,因为它不重复每个定单元素的CustomerID和panyName属性,而FOR XML RAL子句中指定ELEMENTS选项,所有列值都将成为XML中的元素。有时百闻不如一见,因此本文在图 3中给出了当ELEMENTS条件适用时前面查询的输出。(为了简便起见,给出的XML示例仅包含CustomerID ALFKI的XML。这些查询所生成的实际XML会包含所有客户及其定单的XML。)使用ELEMENTS选项的查询如下: SELECT  Customers.Custo

文档评论(0)

czy2014 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档