首页数据库sqlserver2005 xml字段的读写操作

sqlserver2005 xml字段的读写操作

时间2024-02-28 22:48:04发布访客分类数据库浏览954
导读:收集整理的这篇文章主要介绍了sqlserver2005 xml字段的读写操作,觉得挺不错的,现在分享给大家,也给大家做个参考。 1.创建XMl字段在表xMLtest内创建一个字段,命名_...
收集整理的这篇文章主要介绍了sqlserver2005 xml字段的读写操作,觉得挺不错的,现在分享给大家,也给大家做个参考。 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
结果如图:

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

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

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

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

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'

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
结果:

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
结果:

您可能感兴趣的文章:
  • SQLServer XML数据的五种基本操作
  • C#怎样才能将XML文件导入SQL Server
  • SQLServer XML查询快速入门(18句话)
  • SqlServer参数化查询之where in和like实现之xml和DataTable传参介绍
  • Sqlserver 2005使用XML一次更新多条记录的方法
  • 在SQL Server中将数据导出为XML和Json的方法
  • SQLServer XML查询18句话入门教程
  • SQL Server解析XML数据的方法详解

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: sqlserver2005 xml字段的读写操作
本文地址: https://pptw.com/jishu/632045.html
winXP系统安装SQLServer2005开发版具体过程与注意问题 SQLServer 2005系统配置要求官方说明

游客 回复需填写必要信息