zoukankan      html  css  js  c++  java
  • SQL Server 2005 For XML[学习]

     

    for xml 扩展功能

     

    SQL Server 2005 通过 select 语句的 for xml 扩展功能,支持在服务器端以XML 文档的形式返回SQL 查询的结果。

     

    语法如下:
    select 表1.列名1, 表2.列名2 ...
    from 表1,表2
    for xml mode

     

    其中,mode 指定使用:RAWAUTOEXPLICIT PATH 模式。

    (详细内容,查阅MSDN。)

     

    创建示例环境:

    创建表.sql
    use Winform
    go

    /****** 对象:  Table [dbo].[Person]    脚本日期: 04/25/2010 12:56:29 ******/
    create table [dbo].[person]
    (
        
    [no] [int] not null,
        
    [name] [varchar](10not null,
        
    [sex] [varchar](2not null,
        
    [age] [int] null,
        
    [address] [varchar](50null,
     
    constraint [pk_table_1] primary key clustered 
     (
    [no] asc)
    )
    go

    /****** 对象:  Table [dbo].[grade]    脚本日期: 04/25/2010 12:59:24 ******/
    create table [dbo].[grade]
    (
        
    [gradeid] [int] identity(1,1not null,
        
    [gradename] [varchar](20null,
        
    [remark] [varchar](20null,
        
    [img] [varbinary](maxnull
    )
    go

    /****** 对象:  Table [dbo].[class]    脚本日期: 04/25/2010 13:00:28 ******/
    create table [dbo].[class]
    (
        
    [classid] [int] identity(1,1not null,
        
    [gradeid] [int] null,
        
    [classname] [varchar](20null,
        
    [createdate] [datetime] null,
        
    [img] [varbinary](maxnull,
     
    constraint [pk_class] primary key clustered 
     (
    [classid] asc)

    go


    Demo 代码:

    SQL 2005 For XML.sql
    -- SQL 2005 For XML

    use Winform
    go

    -- raw : 是以属性的方式显示字段
    select * from Person for xml raw

    -- 排序
    select * from Person order by age for xml raw

    -- auto : 是将表名(如:Person)作为元素名显示字段
    select * from Person for xml auto

    -- 两表联接: 使用auto后将以父子元素的形式显示xml
    select classname,gradename,createdate 
    from class join grade
    on grade.gradeid = class.gradeid for xml auto


    -- 通过root属性添加根节点
    select classname,gradename,createdate 
    from class join grade
    on grade.gradeid = class.gradeid 
    for xml auto, root('Newer')


    -- 通过elements属性将每个字段都以元素的形式显示
    --
     auto关键字将显示层次结构
    select classname,gradename,createdate 
    from class join grade
    on grade.gradeid = class.gradeid 
    for xml auto,root('Newer'),elements


    -- 通过elements属性将每个字段都以元素的形式显示
    --
     row关键字将无层次结构
    select classname,gradename,createdate 
    from class join grade
    on grade.gradeid = class.gradeid 
    for xml raw,root('Newer'),elements


    -- 通过elements属性将每个字段都以元素的形式显示
    --
     path关键字将无层次结构(与row关键字一样),
    --
     但无需elements关键字
    select classname,gradename,createdate 
    from class join grade
    on grade.gradeid = class.gradeid 
    for xml path,root('Newer')


    来源:http://www.cnblogs.com/sufei/archive/2010/04/24/1719037.html

  • 相关阅读:
    大教堂和市集
    VB相关资源
    什么样的团队才是优秀的团队
    走过2007
    一种简单实用的错误码构建方法
    熊的困惑
    调测中的反思
    PowerPC852T的SMC初始化—串口通信
    Silverlight Listbox 取消全选的方法
    电脑读不出U盘,有一个黄色感叹号的解决方法
  • 原文地址:https://www.cnblogs.com/xugang/p/1730424.html
Copyright © 2011-2022 走看看