ITPub博客

首页 > Linux操作系统 > Linux操作系统 > [zt] 浅析数据库的FOR XML的应用—RAW模式

[zt] 浅析数据库的FOR XML的应用—RAW模式

原创 Linux操作系统 作者:tolywang 时间:2009-07-10 17:45:47 0 删除 编辑


          在sql server 2005中使用xml,非常方便。不仅有XML数据类型,并且对于标准数据行集与XML的转换,提供了查询的子句,也提供了处理XML的方法。
FOR XML是sql server提供的查询子句,通过该查询语句,将标准数据行集构造为一个XML。FOR XML 模式可以是 RAW、AUTO、EXPLICIT 或 PATH。它确定产生的 XML 的形状。
通过如下这个表的实际查询,初探FOR XML RAW模式的使用。示例表名叫user,查询所有数据如下:
select userid,loginname,username,registertime from [user]

现在就对这个表使用FOR XML进行查询:
1 select * from [user] for xml raw
查询结果如下:



RAW 模式将查询结果集中的每一行转换为带有通用标识符 或可能提供元素名称的 XML 元素。默认情况下,行集中非 NULL 的每列值都将映射为 元素的一个属性。
2 select * from [user] for xml raw('item')
查询结果如下:



可以自定义行元素的名称为item。
3 select * from [user] for xml raw('item'),XMLSCHEMA
查询结果如下:
  http://www.w3.org/2001/XMLSchema" xmlns:sqltypes="http://schemas.microsoft.com/sqlserver/2004/sqltypes">
  http://schemas.microsoft.com/sqlserver/2004/sqltypes" schemaLocation="http://schemas.microsoft.com/sqlserver/2004/sqltypes/sqltypes.xsd" />
 
   
     
     
       
         
           
         

       

     

     
       
         
           
         

       

     

     
   

 


到此为止,为xmlschema架构。可见,item为一个元素,而UserID,LoginName,UserName,RegisterTime均为该元素的属性。红色标识的为元素和属性。实际查询结果如下:



4 select * from [user] for xml raw('item'),XMLSCHEMA,ELEMENTS
查询结果如下:
  http://www.w3.org/2001/XMLSchema" xmlns:sqltypes="http://schemas.microsoft.com/sqlserver/2004/sqltypes">
  http://schemas.microsoft.com/sqlserver/2004/sqltypes" schemaLocation="http://schemas.microsoft.com/sqlserver/2004/sqltypes/sqltypes.xsd" />
 
   
     
       
       
         
           
             
           

         

       

       
         
           
             
           

         

       

       
     

   

 


此xmlschema架构,item为一个元素,而UserID,LoginName,UserName,RegisterTime也都成为了一个元素。此架构比较符合我们平时所用的xml文件。

  4959E391-63DC-4BBF-ACEA-63EC673AEC45
  admin
  管理员
  2007-02-10T00:00:00


  4959E391-63DC-4BBF-ACEA-63EC673AEC46
  user1
  用户1
  2007-02-08T00:00:00


  4959E391-63DC-4BBF-ACEA-63EC673AEC47
  user2
  用户2
  2007-02-09T00:00:00

本文来源于金色坐标 http://www.kingxy.com/ , 原文地址:http://www.kingxy.com/archives/106.html


 


 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/35489/viewspace-609353/,如需转载,请注明出处,否则将追究法律责任。

下一篇: Oracle10g ASH and AWR
请登录后发表评论 登录
全部评论
Oracle , MySQL, SAP IQ, SAP HANA, PostgreSQL, Tableau 技术讨论,希望在这里一起分享知识,讨论技术,畅谈人生 。

注册时间:2007-12-10

  • 博文量
    5595
  • 访问量
    13209686