热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

XML流式的查询

在SQLServer2000中,Microsoft推出了Transact-SQL关键字FORXML和OPENXML。FORXML是对SELECT语句的扩展,它返回如下面的示例所示的XML流式的查询结果。SELECTProductID,ProductNameFROMProductsProductFORXMLAUTO这个查询返回一个

在 SQLServer2000 中, Microsoft 推出了 Transact-SQL 关键字 FORXML 和 OPENXML 。 FORXML 是对 SELECT 语句的扩展,它返回如下面的示例所示的 XML 流式的查询结果。 SELECT ProductID, ProductName FROM Products Product FOR XML AUTO 这个查询返回一个

SQL Server 2000中,Microsoft 推出了Transact-SQL 关键字FOR XMLOPENXMLFOR XML 是对SELECT语句的扩展,它返回如下面的示例所示的XML流式的查询结果。
  SELECT ProductID, ProductName
  FROM Products Product
  FOR XML AUTO
  这个查询返回一个如下面示例所示的XML片断:  


     OPENXML 功能执行与FOR XML 条件子句相反的功能,它创建一个XML文档的rowset ,如下面的示例所示:
DECLARE @doc nvarchar(1000)
SET @doc = '


'
DECLARE @xmlDoc integer
EXEC sp_xml_preparedocument @xmlDoc OUTPUT, @doc
SELECT * FROM
OPENXML (@xmlDoc, 'Order/Item', 1)
WITH
(OrderID integer '../@OrderID',
ProductID integer,
Quantity integer)
EXEC sp_xml_removedocument @xmlDoc
注意用sp_xml_preparedocument和sp_xml_removedocument 存储过程来创建XML文档的节点树的一个内存展示的用法。这个Transact-SQL 代码返回下面的rowset。 
OrderID ProductID Quantity
1011 1 2
1011 2 1

<无>
  SELECT ProductID, ProductName 
  FROM Products Product 
  FOR XML AUTO
DECLARE @doc nvarchar(1000)
SET @doc = '
   
   
  '
DECLARE @xmlDoc integer
EXEC sp_xml_preparedocument @xmlDoc OUTPUT, @doc
SELECT * FROM
OPENXML (@xmlDoc, 'Order/Item', 1)
WITH
(OrderID integer '../@OrderID',
ProductID integer,
Quantity integer)
EXEC sp_xml_removedocument @xmlDoc

推荐阅读
author-avatar
沥胆披肝365_781
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有