顶部468*60ad 顶部468*60ad 顶部468*60ad 顶部468*60ad

SQL Server 2008中有关XML的新功能

2007-12-07 19:39:58  来源:IT专家网 戴羽

 2.2 SQL Server 2005中的XML功能

  在SQL Server 2005中,FOR XML 功能得到了增强,它有了对根元素和元素名称的新的选项、使用FOR XML 调用以便你可以建立复杂的层次关系的能力、和一个新的使得你可以定义将要使用XPath 语法来提取的XML结构的PATH 模式,如下面的示例所示:

SELECT ProductID AS '@ProductID',
 ProductName AS 'ProductName'
FROM Products
FOR XML PATH ('Product'), ROOT ('Products')

  这个查询返回下面的XML: Webjx.Com

<Products>
<Product ProductID="1">
<ProductName>Widget</ProductName>
 </Product>
<Product ProductID="2">
<ProductName>Sprocket</ProductName>
 </Product>
</Products>

  除了增强SQL Server 2000已推出的XML功能,SQL Server 2005增加了一个新的、本地的xml 数据类型,使得你可以为XML数据创建变量和列,如下面的示例所示:

CREATE XML SCHEMA COLLECTION ProductSchema AS
'<?xml version="1.0" encoding="UTF-16"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <!-- schema declarations go here -->
</xs:schema>'

  你可以使用xml 数据类型来存储数据库中的文档或数据。列和变量可以用于非类型化的XML或类型化的XML,后者是对一个XML Schema 定义(XML Schema Definition ,XSD)的schema有效。如果要为数据验证进行定义,开发人员可以使用CREATE XML SCHEMA COLLECTION 语句,如下面的示例所示:

  在创建了一个schema 集合后,你可以通过参照schema集合将一个xml变量或列与它所包含的schema 声明结合起来,如下面的示例所示:

CREATE TABLE SalesOrders
(OrderID integer PRIMARY KEY,
 OrderDate datetime,
 CustomerID integer,
 OrderNotes xml)

Webjx.Com

  类型化XML在插入值或更新值时对关联的schema 集合的声明进行验证,这使得可以为了遵从性检查或兼容性原因而加强关于XML数据的结构的业务规则。 Webjx.Com

文章评论

共有 0 位网友发表了评论 查看完整内容

推荐文章