示例可以让我们对各种设置的内部工作机理有更多的了解,下面我们就进一步研究下FOR XML语句的可选元素XMLDATA。如果你设置该选项,那么XML-Data schema就会包含在结果集合里。以下是SQL语句: SET ROWCOUNT 3SELECT Orders.OrderID, Orders.OrderDate, ProductIDFROM Orders, [Order Details]WHERE Orders.OrderID = [Order Details].OrderIDORDER BY Orders.OrderIDFOR XML AUTO, XMLDATA以上的SQL语句产生以下结果:<Schema name="Schema2" xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes"><ElementType name="Orders" content="eltOnly" model="closed" order="many"><element type="Order_x0020_Details" maxOccurs="*"/>…ELEMENTSELEMENTS选项指示各数据列作为子元素而非属性返回。假如你采用AUTO模式就可以只采用该选项。BINARY BASE64使用该选项表示你希望采用base64编码格式表示二进制数据。采用XML子句的说法可就多了,你最好参考下SQL在线图书。
在线指南sql/techinfo/productdoc/2000/books.asp">SQL Server在线图书 对FOR XML子句的用法进行了阐述。而且还提到了在使用这一子句时要注意的多项限制。比方说,FOR XML字句不能同视图定义或者COMPUTE BY子句合用。你不妨参考有关文档了解更多细节。本文只是对FOR XML子句的简单说明,这里要提醒你的是这一部分不过是XML同SQL Server集成需要注意的一点,其他方面的问题还包括IIS的OPENXML 函数和模版文件等。看来真是这样,SQL Server的每个毛孔都滴着XML这种东西。