以下的文章主要向大家讲述的是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 的支持的增强的描述,希望会给你带来一些帮助在此方面。
很多使用Windows 7系统的朋友都想小编反应,假如暂停使用电脑,鼠标会出现停顿现象,这是怎么回事呢 该怎么解决呢 下面就和小编一起去看下Windows 7 usb鼠标停顿的解决方法吧。 由于Windows 7系统中有一项USB选择性暂停造成的。这项设置主要为了节电,当他检测到用户没有对系统进行...
在使用Windows 7的时候很多用户对于系统的很多功能并不是很了解,也正是因为这样的不了解导致很多用户在使用Win 之后并不能体验Windows 7的功能便携和强大功能,导致很多用户对于Windows 7的认识还是比较模糊,不过为了让更多的朋友了解Windows 7的特点和便携应用,今天就为大家汇...
假如碰到电脑里的文件夹和文件全都不显示名字了(如下图),是不是电脑中毒了呢 请教下笔者有没好的解决方法!下面是笔者给出的答案,希望能够帮助到大家! 首先打开你用来装图片的文件夹(缩略图下面的文字不显示的文件夹),然后但击工具栏上的“查看”选择“平铺”, 下面就是关键:要按住SHIFT键不...
问题现象,具体如下所示: 故障分析: 一般来说,出现这种情况是因为电脑误删系统文件或者是系统文件被顽固木马破坏。 解决方法: 1、下载360安全卫士,找到里面的急救箱开始急救,然后进行修复,完成后重新启动; 2、下载瑞...
故障分析: 主要原因应该是不存在软盘驱动器或驱动器未安装,找到故障原因后,Windows 7 32位系统只要将软盘驱动器禁用就可以了。 解决措施: 1、右键点击计算机,选择管理,打开计算机管理窗口; 2、在计算机管理中,找到设备管理器,在右边的软盘控制器中右击,选择卸载即可。 以...
1. 快速复制粘贴文字 有时我们需要复制命令提示符窗口中的某些文字内容,但是之前的Windows系统中常规的复制粘贴方法是无效的,而在Windows 7中我们可以通过简单方法来复制文字:首先在任意位置右击鼠标并选择“标记...