SQL Server 2000数据库FOR XML查询概述
日期:2008年7月18日 作者: 查看:[大字体 中字体 小字体]-
由于XML本身的诸多优点,XML技术已被广泛的使用,目前的好多软件技术同XML紧密相关,比如微软的.net 平台对xml提供了强大的支持,提供System.Xml以及其子命名空间下的类型来操作xml。Ado.net通过核心类型DataSet出色的把关系型数据库同xml进行了紧密集成。由于平常许多开发人员使用.net 来操作SQL Server的到数据集后再转换成xml,所以往往忽略Transact-SQL查询生成XML数据的强大功能。对于一些项目使用XML查询直接通过SQL生成xml会来的更为简便,所以我通过在实际项目中的使用和查阅一些资料写成一个知识点,一是温故而知新,二是对于一些开发者刚好需要这方面的技术而还没有找到比较快捷的学习方式提供一条途径。
在SQL SERVER 2000中查询生成XML的语法表达式比较简洁,整个语法如下:SELECT
FROM
WHERE
FOR XML AUTO RAW EXPLICIT [,XMLDATA ] [,ELEMENTS] [,BINARY BASE64]
下面我将以Northwind数据库来演示上面的表达式中所包含的各项功能,下面的查询语句和返回结果都通过SQL SERVER 2000查询分析器来执行和得到。
一.使用AUTO模式该模式我认为在生成单表xml数据方面是用得最多的,能满足一般的需要。先来看他的简单查询。
1.简单查询
查询语句:
SELECT CategoryID,
CategoryName
FROM Categories
WHERE CategoryID < 3 FOR XML AUTO
返回结果:
也可以使用别名,
查询语句:
SELECT CategoryID AS ID,
CategoryName,
GetDate() as CurrDate
FROM Categories MyTable
WHERE CategoryID < 3 FOR XML AUTO
返回结果:
2.连接查询
以两个表为例,
查询语句:
SELECT Categories.CategoryID,
Categories.CategoryName,
ProductID,
ProductName
FROM Categories
JOIN Products ON Categories.CategoryID = Products.CategoryID AND ProductID <5
WHERE Categories.CategoryID < 3 FOR XML AUTO
返回结果:
可以看到表连接查询可以生成分层次的Xml,不过需要注意的是SELECT子句中的父表的列要排在子表的列的前面,否则会出现你不想看到的结果,如:
查询语句:
SELECT ProductID,Categories.CategoryID,Categories.CategoryName,ProductName
FROM Categories
JOIN Products ON Categories.CategoryID = Products.CategoryID and ProductID <5
WHERE Categories.CategoryID <3 FOR XML AUTO
返回结果:
3.使用ELEMENTS选项
使用该选项可以生成以元素为中心的Xml表示,默认为属性方式,不过属性方式节省空间。需要注意的是使用ELEMENTS选项是一种全是或全否的形式,不能得到一部分是以元素表示而另一部分以属性表示的Xml数据。
查询语句:
SELECT CategoryID,
CategoryName
FROM Categories
WHERE CategoryID < 3
FOR XML AUTO, ELEMENTS
返回结果:
- [1] [2] [3] [4] [5] [6] 下一页
-
- SQL Server 2000数据库FOR XML查询概述 相关文章:
- ·局域网常用的DOS查询IP地址命令
- ·XP命令提示符详解及IP查询
- ·提高查询速度:SQL Server数据库优化方案
- ·手机号码归属地查询
- ·ASP下实现多条件模糊查询SQL语句
- ·数据库查询优化
- ·Windows错误代码大全集合查询
- ·在PB中如何实现数据模糊查询
- ·域名查询代码公布
- ·用SQL进行多表查询
- SQL Server 2000数据库FOR XML查询概述 相关软件
- ·手机号码归属地查询软件 免费版 6.0.8.0318
- ·MAC地址查询扫描器 V1.0
- ·世界三极管查询系统 V2.3
- ·手机归属者查询 V3.0
- ·人体生物节律查询 V7.09
- ·手机号码归属地查询软件 V6.6.8.0514 会员版
- ·家庭用药查询手册 V1.9 正式版
- ·电话号码存储查询系统 V6.25 专业版
- ·TC2.0库函数查询 V1.0
- ·数据库查询器 V1.4
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
下一篇:网站建设课程之网站规范认识
精品推荐
热点TOP10
- ·学习SQL语句之SQL语句大全
- ·SQL Server不存在或访问被拒绝 问题的解决
- ·精妙SQL语句收集
- ·SQL里的cast和convert
- ·CS服务器架设方法
- ·SQLPLUS命令的使用大全
- ·SQL Server 练习题
- ·数据库连接字符串大全
- ·最新免费HTTP代理服务器
- ·巴塞尔新资本协议概述
- ·学习SQL SERVER的存储过程-之一认识存储过程语法
- ·提高查询速度:SQL Server数据库优化方案
- ·SQL Server不存在或访问被拒绝 问题的解决
- ·SQL游标原理和使用方法
- ·什么是SQL注入法攻击
- ·MS-SQL开发常用汇总和t-sql技巧集锦
- ·认识VF--Visual FoxPro 漫谈
- ·触发器概述
- ·SQLSERVER中,数据库同步的实现
- ·SQL中CASE的用法
特别推荐
- ·警惕恶意软件 网站SQL注入防御实战
- ·从三个方面进行讲解如何适当优化
- ·Vista下安装SQL Sever 2005报错的解决办法
- ·学习SQL语句之SQL语句大全
- ·打造SQL Server2000的安全策略
- ·SQL语句优化技术分析
- ·MySQL导入导出方法与工具
- ·CS服务器架设方法
- ·改进的socket控件
- ·什么是SQL注入法攻击
- ·用SQL语句删除重复记录的四种方法
- ·数据库查询优化
- ·MySQL常见错误问答!
- ·MySQL从后门进企业市场
- ·精妙SQL语句收集
- ·如何在WinNT/2K/XP下启动纯DOS
- ·自己动手做一个SQL解释器
- ·SQL SERVER实用技巧
- ·动态创建MSSQL数据库表存储过程
- ·数据库的分页问题
