【ITPUB 技术文档】XML可以说是数据库表现的一种灵活的形式,在数据库开发过程中,很多时候我们都会需要涉及到XML,特别是用在数据交换。而在SQL Server 2005中,XML已成为一种流行的数据类型,XML已经做为一种新型的类型存储在数据库中。借助于基于XML模式的强类型化支持和基于服务器端的XML数据校验功能,开发者就可以对存储的XML文档进行轻松地远程修改。
在SQL Server 2000中就已经包括了一些XML特征。最常用的是使用FOR XML语句以XML形式返回结果。SQL Server 2005的功能则明显不同。在SQL Server 2005中,XML是一种真正的数据类型;这意味着,可以使用XML作为表和视图中的列,XML可以用于T-SQL语句中或作为存储过程的参数。可以直接在数据库中存储、查询和管理XML文件。
在SQL Server中,主要有以下几种操作XML的方式:
1) FOR XML语句的使用
FOR XML语句在使用的时候有三种模式,参数分别为:RAW、AUTO和EXPLICIT。
先来分别看这几种模式:
RAW模式:
RAW 模式将查询结果集中的每一行转换为带有通用标识符 或可能提供元素名称的XML元素。默认情况下,行集中非 NULL 的每列值都将映射为 元素的一个属性。如果将 ELEMENTS 指令添加到 FOR XML 子句,则每个列值都将映射到 元素的子元素。
先来看RAW的实现的方式:
创建一个表:
语句一:
输出的结果如下:
语句二: