程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL Server 2008 中有關XML的新功能(2)

SQL Server 2008 中有關XML的新功能(2)

編輯:關於SqlServer

    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:

<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)


  類型化XML在插入值或更新值時對關聯的schema 集合的聲明進行驗證,這使得可以為了遵從性檢查或兼容性原因而加強關於XML數據的結構的業務規則。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved