VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 数据库 > sql数据库 >
  • sql语句大全之For XML子句

For XML子句

sql语句大全

通过FOR XML子句并指定模式可以将从数据库系统的表中检索出来的数据自动表示成XML格式。SQL SERVER 2008在其中增加了FOR XML子句的功能,添加了多种显示模式,如RAW模式、AUTO模式、EXPLICIT模式和PATH模式等。
1.ROW模式
ROW模式将查询结果表中每一行作为一个XML元素,并以row作为元素标签,结果隔开每列作为XML元素的属性,若某列值为NULL,则其属性值为空。ROW模式返回的是没有嵌套元素的XML文档结果,例如下面语句使用了FOR XML RAW:
use 购物系统
go
select a.商品名称,a.商品编号,a.商品价格,b.订单数量,b.订单总额
from 商品信息 a,订单信息 b
where  a.商品编号=b.商品编号 and a.商品价格 between 100 and 500
order by a.商品价格
for xml raw
上面语句中最后一行使用了FOR XML子句,并指定了模式为RAW,执行结果如图5-46所示。

图5-46  使用RAW模式
从返回结果中可以看到,使用FOR XML RAW后将所有查询结果以XML格式输出,并放置在一行中,这样很难看清结果集的具体内容,此时用户可以单击结果蓝色部分,系统会弹出一个完整的窗口显示结果集的XML格式,如图5-47所示。

图5-47   结果集的XML格式
RAW模式也是有缺点的,它缺乏一般XML应有的层次特征,RAW模式所产生的结果很少直接作为数据交换的格式,而必须进行进一步的处理。但这种后处理的过程往往抵消了本身查询的高效性,成了影响系统性能的一个重要因素。因此FOR XML子句中还提供了其他形式。

相关教程