SQL Server数据库中FOR XML AUTO的使用详解

数据库 SQL Server
本文我们主要介绍了SQL Server数据库中FOR XML AUTO的使用方法,并通过实际的例子来加以说明这一过程,希望能够对您有所帮助。

FOR XML模式可以是RAW、AUTO、EXPLICIT 或PATH。它确定产生的XML的形状。并且还有这么段重要提示:不推荐使用FOR XML选项的XMLDATA 指令。如果是RAW 和AUTO 模式,请使用XSD 生成。在EXPLICIT 模式下,没有XMLDATA 指令的替代项。后续版本的Microsoft SQL Server将删除该功能。请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。

接下来我们就介绍一下FOR XML AUTO的使用

先看测试用数据:

  1. SELECT * FROM T 

输出:

  1. GRP_A GRP_B GRP_C VAL  
  2. ---------- -------- ------- ------  
  3. a1 b1 c1 10  
  4. a1 b1 c2 10  
  5. a1 b2 c2 40  
  6. a1 b2 c3 40  
  7. a1 b2 c3 50  
  8. a2 b3 c3 NULL  
  9. a2 b3 c3 NULL  
  10. a2 b3 c3 NULL  
  11. (8 行受影响) 

最简单嘛,加上三个关键字再看输出结果:

  1. USE DORBEN  
  2. GO  
  3. SELECT * FROM T  
  4. FOR XML AUTO 

输出介个:

SQL Server数据库中FOR XML AUTO的使用详解

结果集是个连接,点开瞧瞧:

  1. <T GRP_A="a1" GRP_B="b1" GRP_C="c1" VAL="10" /> 
  2. <T GRP_A="a1" GRP_B="b1" GRP_C="c2" VAL="10" /> 
  3. <T GRP_A="a1" GRP_B="b2" GRP_C="c2" VAL="40" /> 
  4. <T GRP_A="a1" GRP_B="b2" GRP_C="c3" VAL="40" /> 
  5. <T GRP_A="a1" GRP_B="b2" GRP_C="c3" VAL="50" /> 
  6. <T GRP_A="a2" GRP_B="b3" GRP_C="c3" /> 
  7. <T GRP_A="a2" GRP_B="b3" GRP_C="c3" /> 
  8. <T GRP_A="a2" GRP_B="b3" GRP_C="c3" /> 

新增了FOR XML AUTO关键字后,查询结果集变成了XML,且,原表每行数据现在变成了一行XML节点其中列数据变成了XML中的属性,如果原列值为NULL,则XML中不予体现,如XML结果集中的第6,7,8行。

关于SQL Server数据库中FOR XML AUTO的使用的相关知识就介绍到这里了想,希望本次的介绍能够对您有所收获!

【编辑推荐】

  1. SQL Server日期时间格式转换字符串详解
  2. SQL Server数据库流水号的使用方法详解
  3. SQL Server 2005学习笔记之数据修改心得
  4. SQL Server 2000如何更改账户默认数据库?
  5. SQL Server 2005数据库排序的SQL实例解析
责任编辑:赵鹏 来源: 博客园
相关推荐

2011-08-24 09:15:36

SQL Server数FOR XML AUT

2011-08-22 11:39:53

SQL Server数PIVOT

2011-08-24 12:49:56

SQL Server托管代码

2011-08-11 09:12:31

SQL Server nolock

2021-03-18 08:20:19

SQLServer数据库SQL

2011-08-15 14:29:52

SQL Server数事务

2011-08-15 13:48:47

SQL ServerROW_NUMBER(

2010-07-15 17:28:50

SQL Server

2011-08-22 10:47:09

SQL Server流水号

2011-08-30 11:04:30

链接查询内连接外连接

2011-08-19 14:53:02

SQL ServerDataRelatio

2011-04-02 11:02:54

SQL Server数文件恢复

2011-08-25 13:41:50

SQL Server 变更跟踪

2011-04-13 15:44:12

SQL Server数函数

2010-03-16 10:12:40

SQL Server

2010-07-08 15:55:25

SQL Server

2011-04-02 11:14:20

SQL Server数XML

2010-07-08 11:05:14

SQL Server数

2010-09-08 16:03:57

SQL临时表数据库

2009-07-07 17:42:28

点赞
收藏

51CTO技术栈公众号