在查詢語句之后,有添加了兩個新的要害字:FOR XML和AUTO。FOR XML要害字可以對現有的關系數據庫執行 SQL 查詢,以返回 XML 文檔形式。AUTO模式則將查詢結果作為嵌套 XML 元素返回,在 FROM 子句內,每個在 SELECT 子句中至少有一列被列出的表都表示為一個 XML 元素,SELECT 子句中列出的列映射到適當的元素特性,當指定了 ELEMENTS 選項后,表列映射到子元素而非特性。默認情況下,AUTO 模式將表列映射到 XML 特性。
在FOR XML AUTO后,還需要添加一個參數“root”,其參數值作為返回的XML文件的root元素名。比如說,你可以把上面我給出的例子中的root的參數值設為Northwind,你會發現,返回的XML文件中除了root元素名變為Northwind了以外,其它都沒有變化。
假如你不想在Customers表和Orders表中出現嵌套的話,SQL Server 2000還提供另一個要害字用來替代AUTO,這個要害字就是RAW。RAW 模式將查詢結果集中的每一行轉換為帶有類屬標識符 row 的 XML 元素。為了讓您能夠深入了解RAW,我再給出一個例子:使用 RAW 模式檢索客戶和訂單信息
下面的查詢返回客戶和訂單信息。在 FOR XML 子句中指定 RAW 模式。
SELECT Customers.CustomerID, Orders.OrderID, Orders.OrderDate FROM Customers, Orders WHERE Customers.CustomerID = Orders.CustomerID ORDER BY Customers.CustomerID FOR XML RAW
CREATE PROCEDURE GetXml ( @CustomerID varchar(5) ) AS BEGIN SELECT CustomerID, CompanyName,ContactName FROM Customers WHERE CustomerID LIKE @CustomerID + '%' FOR XML AUTO END