SQL Server 2008中有关XML的新功能
2008-11-22 22:35
183 查看
SQL Server 2008中有关XML的新功能
1 导言
Microsoft 在Microsoft SQL Server 2000中推出了与XML相关的功能以及Transact-SQL 关键字FOR XML和OPENXML ,这使得开发人员可以编写Transact-SQL代码来获取XML流形式的查询结果,并将一个XML文档分割成一个rowset。SQL Server 2005显著的扩展了这些XML功能,推出了一个支持XSD schema验证、基于XQuery的操作和XML索引的本地的xml 数据类型。SQL Server 2008建立在之前版本的XML功能基础之上,做了改进来迎接客户在存储和操纵数据库中的XML数据时所面临的挑战。
2 SQL Server XML 功能的发展历程
SQL Server的XML功能随着从SQL Server2000版本以来的每一个版本而不断发展。在我们检查SQL Server 2008中的改进之前,通过之前的版本来总结XML功能的发展历程可能会比较有用。
2.1 SQL Server 2000中的XML功能
在SQL Server 2000中,Microsoft 推出了Transact-SQL 关键字FOR XML和OPENXML。FOR XML 是对SELECT语句的扩展,它返回如下面的示例所示的XML流式的查询结果。
这个查询返回一个如下面示例所示的XML片断:
OPENXML 功能执行与FOR XML 条件子句相反的功能,它创建一个XML文档的rowset ,如下面的示例所示:
注意用sp_xml_preparedocument和sp_xml_removedocument 存储过程来创建XML文档的节点树的一个内存展示的用法。这个Transact-SQL 代码返回下面的rowset。
1 导言
Microsoft 在Microsoft SQL Server 2000中推出了与XML相关的功能以及Transact-SQL 关键字FOR XML和OPENXML ,这使得开发人员可以编写Transact-SQL代码来获取XML流形式的查询结果,并将一个XML文档分割成一个rowset。SQL Server 2005显著的扩展了这些XML功能,推出了一个支持XSD schema验证、基于XQuery的操作和XML索引的本地的xml 数据类型。SQL Server 2008建立在之前版本的XML功能基础之上,做了改进来迎接客户在存储和操纵数据库中的XML数据时所面临的挑战。
2 SQL Server XML 功能的发展历程
SQL Server的XML功能随着从SQL Server2000版本以来的每一个版本而不断发展。在我们检查SQL Server 2008中的改进之前,通过之前的版本来总结XML功能的发展历程可能会比较有用。
2.1 SQL Server 2000中的XML功能
在SQL Server 2000中,Microsoft 推出了Transact-SQL 关键字FOR XML和OPENXML。FOR XML 是对SELECT语句的扩展,它返回如下面的示例所示的XML流式的查询结果。
SELECT ProductID, ProductName FROM Products Product FOR XML AUTO |
<Product ProductID="1" ProductName="Widget"/> <Product ProductID="2" ProductName="Sprocket"/> |
OPENXML 功能执行与FOR XML 条件子句相反的功能,它创建一个XML文档的rowset ,如下面的示例所示:
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 |
OrderID | ProductID | Quantity |
1011 | 1 | 2 |
1011 | 2 | 1 |
相关文章推荐
- Sql server 2008 存取 XML
- SQL Server 2008和T-SQL新功能
- 有关SQL Server 2008你一定要知道的八件事 之四
- Visual C# 2008+SQL Server 2005 数据库与网络开发-- 9.3 XML相关的SQL语句使用
- Visual C# 2008+SQL Server 2005 数据库与网络开发--第10章 XML编程
- Visual C# 2008+SQL Server 2005 数据库与网络开发-- 10.7 在XML中串行化对象
- 试用SQL Server 2008增强的XML DML功能
- sp_xml_preparedocument (Transact-SQL)--SQL Server 2008 联机丛书(2008 年 8 月)
- 使用 SQL Server 2008 数据类型-xml 字段类型参数进行数据的批量选取或删除数据
- SQL Server 2008 对XML 数据类型操作
- 有关Visual Studio 2008 SP1和SQL Server 2008的一些说明
- SQL Server 2008 R2——使用FOR XML PATH实现多条信息按指定格式在一行显示
- SQL Server 2008和T-SQL新功能
- 利用SQL SERVER 2008 的XML字段类型实现扩展属性
- SQL server 2008 关于XML类型数据 功能总结及性能测试
- 有关SQL Server 2008你一定要知道的八件事 之五
- Visual C# 2008+SQL Server 2005 数据库与网络开发--第9章 SQL Server XML的功能
- Visual C# 2008+SQL Server 2005 数据库与网络开发-- 10.1 .NET框架中的XML
- 有关sql server 2008无法导入数据库mdf文件的处理方法
- SQL Server 2008 对XML 数据类型操作