在 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 xml和openxml。for 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 = '<Order OrderID = "1011"> <Item ProductID="1" Quantity="2"/> <Item ProductID="2" Quantity="1"/> </Order>' 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
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号