SQL Server 2008中有关XML的新功能(5)_Mssql数据库教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:在SQL Server实例之间传输登录和密码
概要 在将数据库移动到新服务器后,用户可能无法登录到新服务器。相反,他们会收到下面的错误消息: Msg 18456, Level 16, State 1 Login failed for user '%ls'. 您必须将登录和密码传

  

5 XML DML增强

像可以使用XQuery 表达式对XML数据执行操作一样,xml 数据类型支持XML DML 表达式通过它的modify 方法来执行insert、replace value of和delete。你可以使用这些XML DML 表达式来操纵一个xml 列或变量中的XML数据。

SQL Server 2008增加了对在一个要执行插入XML数据到一个现有的XML结构中去的insert表达式中使用xml 变量的支持。例如,假设一个叫做@productList的xml 变量包含以下XML:

<Products>
  <Bike>Mountain Bike</Bike>
  <Bike>Road Bike</Bike>
</Products>

你可以使用下面的代码将一个新的自行车插入到产品列表中:

DECLARE @newBike xml
  SET @newBike = '<Bike>Racing Bike</Bike>'
  SET @productList.modify
('insert sql:variable("@newBike") as last into (/Products)[1]')

运行了这个代码之后,@productList 变量会包括以下XML。 

<Products>
  <Bike>Mountain Bike</Bike>
  <Bike>Road Bike</Bike>
  <Bike>Racing Bike</Bike>
  </Products>

6 总结

SQL Server 2008建立在SQL Server 2005中对XML的全面支持之上,并扩展了建立强大的将关系数据和XML结合在一起的数据库解决方案的能力。应用程序开发人员将会发现对XML schema 支持的改进和对xml 数据类型的增强所带来的好处是非常吸引人的。