当前位置:首页 > 系统运维 > 正文内容

SQL Server 2005 新增一特性的描述

a8116255316年前 (2010-06-18)系统运维18

以下的文章主要向大家讲述的是SQL Server 2005 新增的一个特性及,对 XML 的支持的增强,我看到过很多的文章都在鼓吹 XML 的功能是如何的神奇,但是惭愧的是我学习了好几年的数据库,很少在实际应用中触碰过 XML。

因为用户很少有这方面的需求。最近用户给了一段类似下面结构的 XML。

declare @xdoc xml  set @xdoc = '<conn> <mysql servername="192.168.1.120,3306"> <user name="root" password="" /> <user name="dba" password="" /> <user name="user" password="" /> </mysql> <mssql servername="192.168.1.110,1433"> <user name="sa" password="" /> <user name="dba" password="" /> <user name="user" password="" /> </mssql> <excel id="1" path="c:database" filename="source1.xls" /> <excel id="2" path="d:database" filename="source2.xls" /> <excel id="3" path="e:database" filename="source3.xls" /> </conn> '  

具体的要求就是:在 SQL 2005 中编写一个查询,取出 excel id=1 时的 path & filename。这个需求提醒了我,XML 在数据库中的一个常用需求就是取出 XML 节点中参数的值。

1. SQL 2005 XML 取出节点数据 *** 一。

select excel_path = t.c.value('@path' ,'varchar(255)')  ,excel_name = t.c.value('@filename' ,'varchar(255)')  from @xdoc.nodes('/conn/excel') t (c)  where t.c.value('@id', 'int') = 1  excel_path excel_name  c:database source1.xls  

2. SQL 2005 XML 取出节点数据 *** 二。

select excel_path = @xdoc.value('(/conn/excel[@id="1"]/@path)[1]', 'varchar(255)')  ,excel_name = @xdoc.value('(/conn/excel[@id="1"]/@filename)[1]', 'varchar(255)')  excel_path excel_name  c:database source1.xls 

3. SQL 2005 XML 取出节点数据 *** 三。

该 *** 是 *** 二的改进,我们可以在 xml.value() 函数中使用 sql:variable() 来为 XML 节点中的 id 提供一个动态的参数。

declare @excel_id int  set @excel_id = 1 select excel_path = @xdoc.value('(/conn/excel[@id=sql:variable("@excel_id")]/@path)[1]', 'varchar(255)')  ,excel_name = @xdoc.value('(/conn/excel[@id=sql:variable("@excel_id")]/@filename)[1]', 'varchar(255)')  excel_path excel_name  c:database source1.xls   

上述的相关内容就是对SQL Server 2005 新增的一个特性是对 XML 的支持的增强的描述,希望会给你带来一些帮助在此方面。

扫描二维码推送至手机访问。

版权声明:本文由2345好导航站长资讯发布,如需转载请注明出处。

本文链接:http://www.2345hao.cn/blog/index.php/post/21266.html

分享给朋友:

“SQL Server 2005 新增一特性的描述” 的相关文章

windows 7/8.1正在启动windows时间长的解决方法

windows 7/8.1正在启动windows时间长的解决方法

正在启动windows时间长怎么办 小编带来了Windows 7/8.1正在启动windows时间长解决方法,假如有朋友在安装完Windows系统之后一直停留在“正在启动windows”的话,不妨试一试下文的方法哦~ 原因:Windows 7/8.1不完全支持UEFI,需要CSM(Comp...

windows 7系统如何设置休眠时不断网以便继续完成下载

windows 7系统如何设置休眠时不断网以便继续完成下载

在Windows 7系统的默认设置中,当Windows 7系统处于休眠状态时,会同时断网的。如此一来,无论你正在使用迅雷还是快车等下载工具,同样可以在休眠状态下继续完成下载,最大限度做到从身边的小事开始支持环保。下面我们就详细介绍操作步骤,帮助Windows 7系统用户实现这一节能目标。 首先需要...

上帝不止一个 更多Windows7 快捷模式.

上帝不止一个 更多Windows7 快捷模式.

国外媒体CNET NEWS就这个“上帝模式”和微软Windows部门主管Steven Sinofsky进行邮件交流后得知,这其实只是众多快捷方式中的一个,Sinofsky在邮件里给出了十多个这类快捷方式的关键字符串。 它们的建立方法和之前的“上帝模式”一样,在任意位置新建的一个文件夹,然后改名即可...

微软今天正式停止对windows 7的主流支持

微软今天正式停止对windows 7的主流支持

北京时间1月13日消息,根据计划,微软将于2015年1月13日正式结束对Windows 7SP1的“主流支持”,而这也标志着“扩展支持”阶段的开始,这个阶段将于2020年1月14日结束。 2013年10月份,微软终止销售独立的Windows 7系统安装包,并要求制造商于2014年10月份停止生...

windows 7系统开机后出现黑屏提示Windows无法启动

windows 7系统开机后出现黑屏提示Windows无法启动

一些用户的Windows 7系统开机后出现黑屏,代码为 Windows无法启动: WindowsSystem32ConfigSystem”。这个问题该如何修复呢?现在小编就给大家分析一下吧。 其实这个代码的意思是引导文件丢失了,引导文件(NTLDR)一般存放于C盘根目录下,是一个具有隐藏和只读属性...

Windows7截图出现黑屏导致截的图黑呼呼一片

Windows7截图出现黑屏导致截的图黑呼呼一片

最近一些Windows 7用户反馈说,自己在截屏的时候出现黑屏,导致自己截的图黑呼呼一片。这个问题该怎么解决?今天小编就为大家提供一个解决的方法。 步骤 1 在windows xp时代,很多用户都曾被视频截图后的“全黑图片”困扰。对此,在解决本地播放时出现的截图变黑问题,一般有两个方法可以用来解...