SQLServerXML基础学习<2>之
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了SQLServerXML基础学习<2>之,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2130字,纯文字阅读大概需要4分钟。
内容图文
本文主要介绍FOR XML 的AUTO 模式和 RAW 模式 --AUTO 模式将查询结果以嵌套 XML 元素的方式返回。这不能较好地控制从查询结果生成的 XML 的形式。 --如果要生成简单的层次结构,AUTO 模式查询很有用。 --但是,使用 EXPLICIT 模式和使用 PATH 模式在确定从查
本文主要介绍FOR XML 的 AUTO 模式和 RAW 模式
--AUTO 模式将查询结果以嵌套 XML 元素的方式返回。这不能较好地控制从查询结果生成的 XML 的形式。
--如果要生成简单的层次结构,AUTO 模式查询很有用。--但是,使用 EXPLICIT 模式和使用 PATH 模式在确定从查询结果生成的 XML 的形式方面可提供更好的控制和更大的灵活性。
--> 测试数据:#tb
IF OBJECT_ID('TEMPDB.DBO.#tb') IS NOT NULL
DROP TABLE #tb
GO
CREATE TABLE #tb
(
[id] INT IDENTITY PRIMARY KEY ,
[name] VARCHAR(4),
[type] VARCHAR(10)
)
INSERT #tb
SELECT '彪' , '流氓'
UNION ALL
SELECT '阿紫' , '流氓'
UNION ALL
SELECT '小强' , '流氓'
UNION ALL
SELECT '光辉' , '臭流氓'
UNION ALL
SELECT '小D' , '臭流氓'
UNION ALL
SELECT '野子' , '臭流氓'
--------------开始查询--------------------------
SELECT * FROM #tb FOR XML AUTO
/*
<_x0023_tb id="1" name="彪" type="流氓">
<_x0023_tb id="2" name="阿紫" type="流氓">
<_x0023_tb id="3" name="小强" type="流氓">
<_x0023_tb id="4" name="光辉" type="臭流氓">
<_x0023_tb id="5" name="小D" type="臭流氓">
<_x0023_tb id="6" name="野子" type="臭流氓">
*/
--ELEMENTS 选项,将返回以元素为中心的 XML。
SELECT * FROM #tb FOR XML AUTO,ELEMENTS
/*
<_x0023_tb>
<_x0023_tb>
<_x0023_tb>
<_x0023_tb>
<_x0023_tb>
<_x0023_tb>
*/
=
--RAW 模式将查询结果集中的每一行转换为带有通用标识符
--默认情况下,行集中非 NULL 的每列值都将映射为
--如果将 ELEMENTS 指令添加到 FOR XML 子句,则每个列值都将映射到
--指定 ELEMENTS 指令之后,您还可以选择性地指定 XSINIL 选项以将结果集中的 NULL 列值映射到具有 xsi:nil="true" 属性的元素。
SELECT * FROM #tb FOR XML RAW
/*
*/
--使用 XMLDATA 和 XMLSCHEMA 选项作为结果请求架构
SELECT * FROM #tb FOR XML RAW, XMLDATA ;
--检索二进制数据
DECLARE @a VARBINARY(10)=0x78786F6F
SELECT @a AS 'VARBINARY' FOR XML RAW,BINARY BASE64
--结果为base64 编码的二进制数据
/*
XML_F52E2B61-18A1-11d1-B105-00805F49916B
*/
--对于结果集中的每一行,RAW 模式都生成一个元素
--您可以通过向 RAW 模式指定一个可选参数为该元素指定另一个名称,如该查询中所示。
SELECT * FROM #tb FOR XML RAW('流氓们')
--AUTO 模式和 RAW 模式都可以使用 ROOT , ELEMENTS XSINIL, TYPE 指令,这里就不一一列举了
内容总结
以上是互联网集市为您收集整理的SQLServerXML基础学习&lt;2&gt;之全部内容,希望文章能够帮你解决SQLServerXML基础学习&lt;2&gt;之所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。