欢迎来到天天文库
浏览记录
ID:21267733
大小:59.50 KB
页数:4页
时间:2018-10-20
《在sql server中如何与xml交互--》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、在SQLServer中如何与XML交互>> XML可以说是数据库表现的一种灵活的形式,在数据库开发过程中,很多时候我们都会需要涉及到XML,特别是用在数据交换。而在SQLServer2005中,XML已成为一种流行的数据类型,XML已经做为一种新型的类型存储在数据库中。借助于基于XML模式的强类型化支持和基于服务器端的XML数据校验功能,开发者就可以对存储的XML文档进行轻松地远程修改。 在SQLServer2000中就已经包括了一些XML特征。最常用的是使用FORXML语句以XML形式返回结果。SQLServer2005的功能则明
2、显不同。在SQLServer2005中,XML是一种真正的数据类型;这意味着,可以使用XML作为表和视图中的列,XML可以用于T-SQL语句中或作为存储过程的参数。可以直接在数据库中存储、查询和管理XML文件。 在SQLServer中,主要有以下几种操作XML的方式: 1)FORXML语句的使用 FORXML语句在使用的时候有三种模式,参数分别为:RAL元素。默认情况下,行集中非NULL的每列值都将映射为元素的一个属性。如果将ELEMENTS指令添加到FORXML子句,则每个列值都将映射到元素的子元素。 先来看RAe][varc
3、har](20)NULL, [user_Pe,User_pe=adminUser_pin888/> <roe=userUser_pe,User_pe>admin</User_Name> <User_pin888</User_pe>user</User_Name> <User_pe,User_pe=adminUser_pin888/> <Tb_UserID=2User_Name=userUser_pe,User_pe>admin</User
4、_Name> <User_pin888</User_pe>user</User_Name> <User_pL文档的形式。必须以特定的方式编写查询,将有关123下一页>>>>这篇文章来自..,。预期嵌套的附加信息显式指定为查询的一部分。当指定EXPLICIT模式时,必须负责确保生成的XML符合语法规则并且有效。 EXPLICIT模式会将由查询执行生成的行集转换为XML文档。为使EXPLICIT模式生成XML文档,行集必须具有特定的格式。这需要编写SELECT查询以生成具有特定格式的行集(通用
5、表),以便处理逻辑随后可以生成所需的XML。 首先,查询必须生成下列两个元数据列: 第一列必须提供当前元素的标记号(整数类型),并且列名必须是Tag。查询必须为从行集构造的每个元素提供唯一标记号。 第二列必须提供父元素的标记号,并且此列的列名必须是Parent。这样,Tag和Parent列将提供层次结构信息。 前两列是Tag和Parent,它们是元数据列。这些值确定层次结构。查询必须以特定的方式提供列名,Parent列中的0或NULL表明相应的元素没有父级。 在构造XML的过程中,处理逻辑为每行选择一组列,然后构造一个元素。
6、 现在来看看下面的两个语句: 语句一: SELECT1asTag, NULLasParent, User_Nameas[TbUser!1!UserName], User_pe=admin/> <TbUserUserName=user/> 语句二: SELECT2asTag, NULLasParent, User_Nameas[TbUser!1!UserName], User_pin888/> <TbUserUserPe和TbUser!2!UserPaDeclaration
7、Table
8、Name)] I:XML文档的内部表式形式的文档句柄。 RolDocumentnvarchar(1000) SETXmlDocument=N'<ROOT> <CustomerCustomerID=VIContactName=PaulHenriot> <OrderOrderID=10248CustomerID=VIEmployeeID=5 OrderDate=1996-07-04T00:00:00> <OrderDetailProductID=11Quantity=12/&g
9、t; <OrderDetailProductID=42Quantity=10/> </Order> </Customer> <CustomerCustome
此文档下载收益归作者所有