• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >MsSql > sqlserver2005 xml字段的读写操作

sqlserver2005 xml字段的读写操作

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了sqlserver2005,sqlserver2005下载,sqlserver2005 32位,sqlserver2005官网,sqlserver2005 64位等相关知识,希望本文的分享对您有所帮助
1.创建xml字段
在表xmlTest内创建一个字段,命名_x,设置数据类型为xml。
2.写入xml
insert into xmlTest (_x) values('
<root>
<item attr1="a1" attr2="a2">item11</item>
<item attr1="a1" attr2="a2">item12</item>
</root>
')
go
如此再插入一条记录:
insert into xmlTest (_x) values('
<root>
<item attr1="b1" attr2="b2">item21</item>
<item attr1="b1" attr2="b2">item22</item>
</root>
')
3.查询数据
3.1 查询字段所有数据
select _x from xmlText
结果如图: </div>

3.2 查询root下面的第一个item节点
select _x.query('root/item[1]')
from xmlTest
结果:

</div></div>

3.3 查询root下面的第一个item节点的值
select _x.value('(root/item)[1]','varchar(50)')
from xmlTest
结果:

</div>

3.3 查询root下面的第二个item节点的attr2属性值
select _x.value('(root/item/@attr2)[2]','varchar(50)')
from xmlTest
结果:

</div></div>

3.4 查询表中每条记录的xml字段的item节点值,全部列出来
SELECT t2.c1.value('.','varchar(20)') as items
from xmlTest
cross apply _x.nodes('root/item') as t2(c1)
结果:

</div></div>

3.5 查询表中id=1记录的xml的所有item字段的attr2属性值
SELECT t2.c1.value('@attr2','varchar(20)') as attr2
from xmlTest
cross apply _x.nodes('root/item') as t2(c1)
where id='1'

结果:

3.6 查询id为1的所有节点中attr1属性为a1的第一个匹配节点的attr2属性值

select _x.value('(root/item[@attr1="a1"]/@attr2)[1]','varchar(50)')
from xmlTest where id='1'

结果:

3.7 多表查询

例如:存在另外1个table:t2,其字段xmlid关联表xmlTest,而attr1关联xmlTest的_x字段中的attr1属性值。

查询表xmlTest中id=‘1'记录中_x字段内item节点中attr1为表t2中attr1字段值时,item节点中attr2的属性值

select xmlTest._x.value('(root/item[@attr1=sql:column("t2.attr1")]/@attr2)[1]','varchar(50)') as attr2,t2.attr1
from xmlTest join t2 on t2.xmlid=xmlTest.id
where xmlTest.id='1'

</div></div>

4.修改数据
4.1 修改表中id=1记录的第一个item节点值
UPDATE xmlTest
set _x.modify('replace value of (root/item/text())[1] with "xxxxx"')
where id='1'

select _x.query('root/item[1]') as item1
from xmlTest
结果:

</div></div>

4.2 修改表中id=2记录的第二个item节点的attr2属性值
UPDATE xmlTest
set _x.modify('replace value of (root/item/@attr2)[2] with "2222b"')
where id='2'

select _x.query('root/item[2]') as item1
from xmlTest
结果:

</div></div></div> </div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • SQL Server 2005安装配置方法图文教程 完美兼容Win7所有版本
  • Sqlserver2005日志文件太大如何减小
  • SQLServer2005 没有服务器名称的两种解决方法
  • Sql server 2005安装时ASP.Net版本注册要求警告的解决方法
  • sql server 2005数据库备份还原图文教程
  • SQL Server 2005 数据库复制详细介绍
  • SQLServer2005混合模式登录配置(用户登录错误18452,233,4064)
  • 安装SqlServer2005时版本变更检查 (警告)
  • sqlserver2005 master与msdb数据库备份恢复过程
  • sqlserver2005利用临时表和@@RowCount提高分页查询存储过程性能示例分享

相关文章

  • 2017-05-11sql server连接不上怎么办 SQL Server2008R无法登录的解决方案(1814\18456)
  • 2017-05-11SQL2008中SQL应用之-阻塞(Blocking)应用分析
  • 2017-05-11sql server 2005数据库备份还原图文教程
  • 2017-08-28Sql Server 2005 32位+64位、企业版+标准版、CD+DVD 下载地址大全
  • 2017-05-11Windows7下Microsoft SQL Server 2008安装图解和注意事项
  • 2017-05-11收缩数据库日志文件的方法(仅适用于mssql2005)
  • 2017-05-11SQL2005CLR函数扩展-繁简转换的实现代码
  • 2017-05-11SQL SERVER 2008 CTE生成结点的FullPath
  • 2017-05-11利用JAVA实现DES加密算法
  • 2017-05-11JDBC连接Sql Server 2005总结

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • SQL Server Native Client下载 SQL Server Native Client安装方法
    • SQLServer 2005 控制用户权限访问表图文教程
    • 通过创建SQLServer 2005到 Oracle10g 的链接服务器实现异构数据库数据转换方案
    • 解决SQL SERVER 2008数据库表中修改字段后不能保存
    • sql server 2008 用户 NT AUTHORITY\IUSR 登录失败的解决方法
    • SQL Server 2008 R2 应用及多服务器管理
    • sql server 2008 忘记sa密码的解决方法
    • SQLServer APPLY表运算符使用介绍
    • SQLServer2005 没有日志文件(*.ldf) 只有数据文件(*.mdf) 恢复数据库的方法
    • SQL2005 服务器因重装改名后出错的说明

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有