SQL中forXML语句用法总结_sql语句初学使用总结

2020-02-28 其他工作总结 下载本文

SQL中forXML语句用法总结由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“sql语句初学使用总结”。

-------raw模式:raw模式将查询结果集中的每一行转换为带有通用标识符row或可能提供元素名称的xml元素。(将查询结果集中的每一行转换为row元素的属性或row元素的子无素)-------------行集中非Null的每列值都将映射为row元素的一个属性--------------------------

select top 10 *

from mixtureMeasureMonitor

for xml raw

---将elements指令添加到for xml子句,则行集中非null的每列值都将映射为row元素的一个子元素

-----------

select top 10 *

from mixtureMeasureMonitor

for xml raw,elements

----在指定elements指令的同时指定xsinil选项,则将行集中为null的每例值映射为具有属性xsi:nil=“true”的一个元素

---------------------------

select top 10 *

from mixtureMeasureMonitor

for xml raw,elements XSINIL

-Auto模式根据查询确定返回的xml的形式--------------

select pmm.id,pmm.ppId,pp.MixPropNo,pmm.criterion

from mixtureMeasureMonitor as pmm inner join

produceProportion as pp on pp.id=pmm.ppid and pp.cOrgID=pmm.cOrgID tOption as tp on tp.cValue=pmm.Criterion inner join

where tp.ckey='Criterion '

for xml auto

select

pmm.id,pp.MixPropNo,pmm.ppId,pmm.criterion,pmm.temperatureMark,pmm.remark

from mixtureMeasureMonitor as pmm inner join

produceProportion as pp on pp.id=pmm.ppid and pp.cOrgID=pmm.cOrgID tOption as tp on tp.cValue=pmm.Criterion inner join

where tp.ckey='Criterion '

for xml auto,elements xsinil

-----------------explicit模式:使用RAW和AUTO模式不能很好地控制从查询结果生成的XML的形状。但是,对于要从查询结果生成的XML,EXPLICIT模式会提供非常好的灵活性-----------------------

select

pp.MixPropNo,pmm.id,pmm.ppId,pmm.criterion,pmm.temperatureMark,pmm.remark

from mixtureMeasureMonitor as pmm inner join

produceProportion as pp on pp.id=pmm.ppid and pp.cOrgID=pmm.cOrgID tOption as tp on tp.cValue=pmm.Criterion inner join

where tp.ckey='Criterion '

for xml explicit

-------------------------OPENXML语句,对XML文件进行查询,然后返回指定的XML中的结果集数据---------------------------

/*openxml(idoc int [in],rowpattern nvarchar[in],[flags byte [in]])

[WITH(SchemaDeclaration|TableName)]

Idoc:XML文档的内部表示形式的文档句柄

RowPattern:XPath模式,用来标识要作为行处理的节点

Flags:指示应在XML数据和关系行集间使用映射,以及应如何填充溢出列

SchemaDeclaration:窗体的架构定义

TableName:如果具有所需架构的表已经存在且不要求列模式,则为给定的表名*/ DECLARE @idoc int

declare @doc varchar(2000)

set @doc='

OrderDate=“2007-07-04T00:00:00”>

OrderDate=“2007-08-16T00:00:00”>

'

EXEC sp_xml_preparedocument @idoc output,@doc

select *

from openxml(@idoc,'/ROOT/Customer',1)

with(CustomerID varchar(10),ContactName varchar(20))/*path()括号内的参数是控制节点名称的,不指定括号时控制节点默认是row。rooot选项来添加单个顶级元素*/

------------------path选项不带()时,默认控制节点是row,其他字段元素都是row元素的子元素----------

select ID ,name

from MtrlBaseName

for xml path

--------------------------ID,name是product标签的子标签---------------select ID ,name

from MtrlBaseName

for xml path('Product'),root('ProductExport')

------------------ID是Product标签的属性,name是Product标签的内容-----------------------------

select ID [@ID],name as [*]

from MtrlBaseName

for xml path('Product'),root('ProductExport')

------------------ID,name是Product标签的属性

----

select ID [@ID],name as [@name]

from MtrlBaseName

for xml path('Product'),root('ProductExport')

《SQL中forXML语句用法总结.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
SQL中forXML语句用法总结
点击下载文档
相关专题 sql语句初学使用总结 语句 sql forXML sql语句初学使用总结 语句 sql forXML
[其他工作总结]相关推荐
    [其他工作总结]热门文章
      下载全文