网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > SQL技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.启用数据库复制时为什么会出现18.
.使用SQL Server 2008管理非结构化.
.用一个存储过程实现分步删除数据.
.实例讲解SQL Server中非常有用EX.
.SQL中代替Like语句的另一种写法.
.怎样才能实现排序优化的层次关系.
.在SQL Server所在的计算机上运行.
.实例讲解MSDB数据库置疑状态的解.
.利用SQL Server复制技术实现数据.
.SQL Server 2000中生成XML的小技.
.为什么要升级到SQL Server 2005 .
.DBA用于查询当前数据库表格记录条.
.教你快速掌握数据库设计的五种常.
.sql server 查询分析器快捷键集合.
.SQL Server 2005导入导出存储过程.
.SQL Server 2005数据库中表的递归.
.SQL Server 数据库连接字符串的声.
.教你如何在SQL Server数据库中加.
.详细讲解各种数据库使用JDBC连接.
.SQL Server 2000遇到的两个问题及.

关于SQL Server 2000对XML支持的一些见解

发表日期:2007-8-19


关于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"语句时的一些体会,胡言乱语了一通。

http://blog.csdn.net/cyz1980/archive/2007/07/26/1710010.aspx

上一篇:通过维护表的索引来提高数据的访问速度 人气:2365
下一篇:两台SQLServer数据同步解决方案(不得不看) 人气:2156
浏览全部SQL Server 2000的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐