关于SQL Server 2000对XML支持的一些见解
2007-07-26 19:47
274 查看
关于SQL Server 2000对XML支持的一些见解
主要针对"select 字段1,字段2,...,字段n from 表或多表联合查询 where 条件 for xml auto"类似语句的讨论
本人在使用以上语句生成XML数据时,发现了一些SQL Server 2000生成XML数据的一些规律,给我的感觉是要求太苛刻了,从中也可以看出微软早期对XML支持的不足.现在就把我的这些体会写给大家看看,不对不足的地方望大家指出。
XML可以很方便地描述树型结构数据,相对于关系型数据来说,这方面就有点不足。为此从关系型数据转换到树型结构数据就比较麻烦。还好,SQL Server 2000提供了这方面的转换接口。但想转换好也是有条件的。
前提:SQL Server 2000已经有描述树型结构数据的基本表(视图)[如大学里的院系班的树型结构信息,院信息一个表、系信息一个表、班信息一个表,表之间已经建立了主外键关系]
1、要显示的字段的位置是有顺序的,如要正确显示院系班的树型结构关系,转换SQL语句应该这么写:
select 院,系,班 from 院,系,班 where 条件 for xml auto
2、尽量不要对显示的字段作任何运算与处理,因为这样会破坏基本表(视图)的数据作为某一层数据的约定。
比如对"select 院,系,班 from 院,系,班 where 条件 for xml auto" 语句的“系”字段作了一些运算与处理后,
则SQL Server 2000无法正确地描述"系"字段生成XML数据后属于那一层数据。一般情况下,
SQL Server 2000会把”系“字段自动加进”院“或”班“一层。这样就得不到我們想要的结果。
3、多表联合查询时,不要有子查询,因为即使你用了子查询也是没用的,
"select 字段1,字段2,...,字段n from 表或多表联合查询 where 条件 for xml auto"这样的转换语句是只认基本表与视图的。 别妄想用子查询实现一些复杂的功能。
以上是自已在使用"select 字段1,字段2,...,字段n from 表或多表联合查询 where 条件 for xml auto"语句时的一些体会,胡言乱语了一通。
主要针对"select 字段1,字段2,...,字段n from 表或多表联合查询 where 条件 for xml auto"类似语句的讨论
本人在使用以上语句生成XML数据时,发现了一些SQL Server 2000生成XML数据的一些规律,给我的感觉是要求太苛刻了,从中也可以看出微软早期对XML支持的不足.现在就把我的这些体会写给大家看看,不对不足的地方望大家指出。
XML可以很方便地描述树型结构数据,相对于关系型数据来说,这方面就有点不足。为此从关系型数据转换到树型结构数据就比较麻烦。还好,SQL Server 2000提供了这方面的转换接口。但想转换好也是有条件的。
前提:SQL Server 2000已经有描述树型结构数据的基本表(视图)[如大学里的院系班的树型结构信息,院信息一个表、系信息一个表、班信息一个表,表之间已经建立了主外键关系]
1、要显示的字段的位置是有顺序的,如要正确显示院系班的树型结构关系,转换SQL语句应该这么写:
select 院,系,班 from 院,系,班 where 条件 for xml auto
2、尽量不要对显示的字段作任何运算与处理,因为这样会破坏基本表(视图)的数据作为某一层数据的约定。
比如对"select 院,系,班 from 院,系,班 where 条件 for xml auto" 语句的“系”字段作了一些运算与处理后,
则SQL Server 2000无法正确地描述"系"字段生成XML数据后属于那一层数据。一般情况下,
SQL Server 2000会把”系“字段自动加进”院“或”班“一层。这样就得不到我們想要的结果。
3、多表联合查询时,不要有子查询,因为即使你用了子查询也是没用的,
"select 字段1,字段2,...,字段n from 表或多表联合查询 where 条件 for xml auto"这样的转换语句是只认基本表与视图的。 别妄想用子查询实现一些复杂的功能。
以上是自已在使用"select 字段1,字段2,...,字段n from 表或多表联合查询 where 条件 for xml auto"语句时的一些体会,胡言乱语了一通。
相关文章推荐
- 关于SQL Server 2000对XML支持的一些见解
- 深入探讨SQL Server 2000对XML的支持(二)
- 关于SQL server 2000 的一些问题
- 深入探讨SQL Server 2000对XML的支持
- 一些关于SQL Server 2000的安全配置
- 深入探讨SQL Server 2000对XML的支持(四)
- 关于SQL SERVER 2000的一些基本知识(1)——简单的SQL语句
- 深入探讨SQL Server 2000对XML的支持(三)
- 深入探讨SQL Server 2000对XML的支持
- 关于SQL SERVER 2000的一些基本知识(2)——SQL SERVER 2000日期处理
- 深入探讨SQL Server 2000对XML的支持
- 数据库安全:一些关于SQL Server 2000的安全配
- 深入探讨SQL Server 2000对XML的支持 选择自 softj 的 Blog
- 关于改变sql server 2000支持大小写区分
- 深入探讨SQL Server 2000对XML的支持 选择自 cyz1980 的 Blog
- 关于Android中http请求Gosn解析的一些个人见解: 首先是XML中构建布局: 在布局里面建一个listview用来展示Gson解析的字符
- 数据库安全:一些关于SQL Server 2000的安全配置
- 深入探讨SQL Server 2000对XML的支持(一)
- 深入探讨 SQL Server 2000 对XML的支持
- [转贴]深入探讨SQL Server 2000对XML的支持