SQL Server2005的XML数据类型之基础篇
发布时间:2006-09-17 12:24:37 来源:天极开发 网友评论 0 条 nodes方法
nodes方法用于把一组由一个查询返回的结点转换成一个类似于结果集的表中的一组记录行。该方法的语法如下:
这里,XQuery是选择要暴露为一个结果集的结点的表达式。Table和Column用于指定结果集中的名字。注意,你仅可以操作一列并且它的自动类型为XML。例如,为了查询并得到每一个投球手的信息,你可以编写如下的代码:
这些在单个结果集中的结果包含相应于每一个投球手的元素的行数据:
注意,上面你使用了query方法把这些结点返回到结果中。其原因在于,一个nodes方法的结果可能仅能为XML方法(查询,修改,删除和更新)或IS NULL和IS NOT NULL语句所参考。
一般地,你可以使用nodes方法把XML分解为一组更为有用的结果。例如,你可以使用nodes方法得到运动员的结点,然后使用value方法检索它们以便得到作为标量数据的单个值:
这会产生如下的结果:
nodes方法用于把一组由一个查询返回的结点转换成一个类似于结果集的表中的一组记录行。该方法的语法如下:
| nodes (XQuery) Table(Column) |
这里,XQuery是选择要暴露为一个结果集的结点的表达式。Table和Column用于指定结果集中的名字。注意,你仅可以操作一列并且它的自动类型为XML。例如,为了查询并得到每一个投球手的信息,你可以编写如下的代码:
| DECLARE @doc xml SELECT @doc = ' <Team name="Braves"> <Players> <Pitcher name="John Smoltz" role="Closer"> With team since 1989 </Pitcher> </Players> </Team>' SELECT Team.player.query('.') as Pitcher FROM @doc.nodes('/Team/Players/Pitcher') Team(player) |
这些在单个结果集中的结果包含相应于每一个投球手的元素的行数据:
| Pitcher -------------------------------------------- <Pitcher name="John Smoltz" role="Closer" /> <Pitcher name="Russ Ortiz" role="Starter" /> (2 row(s) affected) |
注意,上面你使用了query方法把这些结点返回到结果中。其原因在于,一个nodes方法的结果可能仅能为XML方法(查询,修改,删除和更新)或IS NULL和IS NOT NULL语句所参考。
一般地,你可以使用nodes方法把XML分解为一组更为有用的结果。例如,你可以使用nodes方法得到运动员的结点,然后使用value方法检索它们以便得到作为标量数据的单个值:
| SELECT Team.player.value( './@name', 'nvarchar(10)') as Name, Team.player.value('./@role', 'nvarchar(10)') as PlayerRole FROM @doc.nodes('/Team/Players/Pitcher') Team(player) |
这会产生如下的结果:
| Name PlayerRole --------------- --------------- John Smoltz Closer Russ Ortiz Starter (2 row(s) affected) |
- 推荐阅讯
- 拷贝的SQLServer7数据库的恢复方法
- SQL Server 2005数据加密技术应用研究
- SQL SERVER 2005中的同步复制技术
- SQL Server 2005-如何在SQL Server用户自订
- SQL Server中六种数据移动的方法
- SQL Server2005的XML数据类型之基础篇
- SQL Server2005代码安全之权限
- 剖析SQL Server2005 SQLCLR代码安全性
- 剖析SQL Server 2005查询通知之基础篇
- 如何紧急恢复SQL Server主数据库
- 阅读排行
- 1.SQL Server 2000安装不成功的解决办法
- 2.SQL Server数据导入导出工具BCP详解
- 3.如何紧急恢复SQL Server主数据库
- 4.用SQL 2005的ROW_NUMBER() 实现分页功能
- 5.SQL Server2005的XML数据类型之基础篇
- 6.SQL SERVER 2005中的同步复制技术
- 7.SQL Server 2005-如何在SQL Server用户自订
- 8.拷贝的SQLServer7数据库的恢复方法
- 9.SQL Server 2000遇到的两个问题及其解决办法
- 10.SQL Server 2005数据加密技术应用研究
- 专题教程
- Windows Server-Windows Server文档-Windows Server新闻-Windows Ser PostgreSQL-PostgreSQL文档-PostgreSQL新闻-PostgreSQL专家
- WebLogic-WebLogic文档-WebLogic新闻-WebLogic专家 FreeBSD-FreeBSD文档-FreeBSD新闻-FreeBSD专家
- Linux-内核 GUI KDE Gnome DNS FTP 安全 安装-Linux专区 Windows-AD IIS ServerCore 虚拟化 安全 HPC-Windows专区
- 大话G游 专题:手机病毒揭密
- ARP攻击防范与解决方案 路由故障处理手册
