代码改变世界

SQL中FOR XML子句的各种用法,包括FOR XML字句的四种基本模式:AUTO模式、RAW模式、PATH模式和EXPLICIT模式

2011-06-07 16:20  calm_水手  阅读(713)  评论(1)    收藏  举报

FOR XML子句有四种最基本的模式

1、AUTO模式:返回数据表为起表名的元素,每一列的值返回为属性;为输出的XML文档添加根元素(Root element)

eg:select columnNames from tbleName for xml auto,root('rootName')

2、RAW模式:返回数据行为元素,每一列的值作为元素的属性;将元素命名为自定义名称。

   eg: select columnsName from tableName for xml raw('New_columnsName') 

3、PATH模式:通过简单的XPath语法来允许用户自定义嵌套的XML结构、元素、属性值

eg: select employeeID "@ID",firstname "Name/FirstName",lastName "Name/LastName" from Employees for xml path  ('employee')

  result:

<name><employee><employeeID="2"><name><firstname>andrewfirstname><lastname>fullerlastname>

4、EXPLICIT模式:通过SELECT语法定义输出XML的结构

XPLICIT模式解决这个问题的应用分为两个主要步骤

1.定义要输出的XML文档结构;

2.传入实际的数据值;

其中 Tag栏用来指定生成元素的嵌套水平;Parent栏用来指定当前Tag的父级层次