位置: - 正文

sqlserver2005 xml字段的读写操作

编辑:rootadmin
1.创建xml字段在表xmlTest内创建一个字段,命名_x,设置数据类型为xml。2.写入xmlinsert into xmlTest (_x) values('<root><item attr1="a1" attr2="a2">item</item><item attr1="a1" attr2="a2">item</item></root>')go如此再插入一条记录:insert into xmlTest (_x) values('<root><item attr1="b1" attr2="b2">item</item><item attr1="b1" attr2="b2">item</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()')from xmlTest结果:

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

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

3.5 查询表中id=1记录的xml的所有item字段的attr2属性值SELECT t2.c1.value('@attr2','varchar()') as attr2from xmlTestcross 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()')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()') as attr2,t2.attr1from xmlTest join t2 on t2.xmlid=xmlTest.idwhere 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 item1from xmlTest结果:

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

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

推荐整理分享sqlserver2005 xml字段的读写操作,希望有所帮助,仅作参考,欢迎阅读内容。

sqlserver2005 xml字段的读写操作

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

SQLServer Job运行成功或失败时发送电子邮件通知的图文教程 SQLServer的设置如下:1.运行SQLServerSurfaceAreaConfiguration-SurfaceAreaConfigurationforfeatures-选择DatabaseMail-选择EnableDatabasemailstoredprocedures2.打开SQLManagementStudio-Mana

一个删除指定表的所有索引和统计的过程 --------------------------------------------------------------------------Author:HappyFlyStone--Date:--::--Version:MicrosoftSQLServer-9...(IntelX)--Apr::--Copyr

SQLServer 的查询独占模拟 对于应用来说,我并不提倡人为给记录加锁,这样会惹来很多麻烦,况且锁并不能解决所有问题,如果你有这方面好的经验我们可以进一步交流。对于

本文链接地址:https://www.jiuchutong.com/biancheng/319279.html 转载请保留说明!
下一篇链接:https://www.jiuchutong.com/biancheng/319280.html
免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络