SQL Server2005的XML数据类型之基础篇.docVIP

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SQL Server2005的XML数据类型之基础篇 时间:2009-6-2 10:49:42 作者: 来源: ? 一、引言 如今,在sql server 2005中,xml成为第一流的数据类型。借助于基于xml模式的强类型化支持和基于服务器端的xml数据校验功能,现在 ,开发者可以对存储的xml文档进行轻松地远程修改。作为数据库开发者,许多人都必须大量地涉及xml。 如今,在sql server 2005中,你能以一种新的数据类型的形式把xml存储在数据库中。 事实上,在sql server 2000中就已经包括了一些xml特征。其中,最关键的特征是使用for xml语句以xml形式返回结果。sql server 2005 的功能则明显不同。在sql server 2005中,xml是一种真正的数据类型;这意味着,你可以使用xml作为表和视图中的列,xml可以用于t-sql语 句中或作为存储过程的参数。现在,你可以直接在数据库中存储、查询和管理xml文件。 更重要的是,现在你还能规定你的xml必须遵从的模式。 在sql server 2005中,除了提供机制以校验你的数据库中的xml类型之外,它还允许你描述要被存储的复杂数据类型并且提供一个引擎来 强制施加这些规则。 二、使用xml数据类型 其实,xml数据类型与sql server中的其它数据类型并不存在根本的区别。你可以把它用在使用任何普通sql数据类型的地方。例如,下列 语句创建一个xml变量并用一个xml填充它: declare @doc xml select @doc = <team name=braves /> 另外,你还可以使用一个查询和sql server的for xml语法来填充一个xml变量: select @doc = (select * from person.contact for xml auto) xml数据类型不仅可以作为变量使用,也可以应用于表列中。你还能分配缺省值并且支持not null约束: 以下为引用的内容: create table team ( teamid int identity not null, teamdoc xml default <team /> not null )? 注意:sql server 2005的xml功能与sql server 2000中具有明显的不同。 把xml数据插入到表格中只需要用字符串形式的xml指定即可。 下列示例插入一组记录: 以下为引用的内容: insert into team (teamdoc) values ( <team name=braves> <players> <pitcher name=john smoltz role=closer/> </players> </team>); insert into team (teamdoc) values ( <team name=red sox> <players> <pitcher name=petro martinez role=starter/> </players> </team>); 当在sql server 2005中创建xml的实例时,唯一的转换是从一个字符串转换成一个xml类型。同样,沿着相反的方向,你只可以把xml类型 转换成一个字符串类型。在text和ntext类型之间转换是不允许的。 三、xml数据类型的限制 尽管在sql server 2005中xml数据类型就象许多其它数据类型一样对待,但是还存在一些如何使用它的具体限制。这些限制是: · xml类型不能转换成text或ntext数据类型。 · 除了string类型,没有其它数据类型能够转换成xml。 · xml列不能应用于group by语句中。 · 分布式局部(partitioned)视图不能包含xml数据类型。 · sql_variant实例的使用不能把xml作为一种子类型。 · xml列不能成为主键或外键的一部分。 · xml列不能指定为唯一的。 · collate子句不能被使用在xml列上。 · xml列不能加入到规则中。 · 唯一可应用于xml列的内置标量函数是isnull和coalesce。没有任何其它内置标量函数支持使用xml类型。 · 表中最多只能拥有32个xml列。 · 具有xml列的表不能有一个超过15列的主键。 · 具有xml列的表不能有一个timestamp数据类型作为它们的主键的一部分。 · 存储在数据库中的xml仅支持128级的层次。 四、xml类型方法 到此为止,上面的示例已经展示了xml数据类型仅能用作一种blob类型数据,但是这正是xml数据类型显示其自身力量的地方。xml数据类型 支持使用udt点(my

文档评论(0)

精华文档888 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档