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


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

  • 相关阅读:
    使用javamail发信过程中的一些问题及解决方法
    互联网标准
    发送邮件报错javax.activation.UnsupportedDataTypeException: no object DCH for MIME type text/plain; charset=UTF-8
    在用split分割处理csv数据时,使用不包含在双引号中的逗号进行分割
    java 网络代理官方资料
    ORA-28000错误的原因及解决办法
    日文软件下载站点
    Azure 入门
    ElasticSearch 5学习(10)——结构化查询(包括新特性)
    ElasticSearch 5学习(9)——映射和分析(string类型废弃)
  • 原文地址:https://www.cnblogs.com/cyz1980/p/832686.html
Copyright © 2020-2023  润新知