最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

sqlserver2005 xml字段的讀寫操作

 更新時(shí)間:2009年09月01日 00:42:58   作者:  
sqlserver2005 有xml字段了,下面是關(guān)于xml字段的相關(guān)讀寫操作
1.創(chuàng)建xml字段
在表xmlTest內(nèi)創(chuàng)建一個(gè)字段,命名_x,設(shè)置數(shù)據(jù)類型為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.查詢數(shù)據(jù)
3.1 查詢字段所有數(shù)據(jù)
select _x from xmlText
結(jié)果如圖:

3.2 查詢r(jià)oot下面的第一個(gè)item節(jié)點(diǎn)
select _x.query('root/item[1]')
from xmlTest
結(jié)果:

3.3 查詢r(jià)oot下面的第一個(gè)item節(jié)點(diǎn)的值
select _x.value('(root/item)[1]','varchar(50)')
from xmlTest
結(jié)果:

3.3 查詢r(jià)oot下面的第二個(gè)item節(jié)點(diǎn)的attr2屬性值
select _x.value('(root/item/@attr2)[2]','varchar(50)')
from xmlTest
結(jié)果:

3.4 查詢表中每條記錄的xml字段的item節(jié)點(diǎn)值,全部列出來(lái)
SELECT t2.c1.value('.','varchar(20)') as items
from xmlTest
cross apply _x.nodes('root/item') as t2(c1)
結(jié)果:

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'

結(jié)果:

3.6 查詢id為1的所有節(jié)點(diǎn)中attr1屬性為a1的第一個(gè)匹配節(jié)點(diǎn)的attr2屬性值

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

結(jié)果:

3.7 多表查詢

例如:存在另外1個(gè)table:t2,其字段xmlid關(guān)聯(lián)表xmlTest,而attr1關(guān)聯(lián)xmlTest的_x字段中的attr1屬性值。

查詢表xmlTest中id=‘1'記錄中_x字段內(nèi)item節(jié)點(diǎn)中attr1為表t2中attr1字段值時(shí),item節(jié)點(diǎn)中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.修改數(shù)據(jù)
4.1 修改表中id=1記錄的第一個(gè)item節(jié)點(diǎn)值
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
結(jié)果:

4.2 修改表中id=2記錄的第二個(gè)item節(jié)點(diǎn)的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
結(jié)果:

相關(guān)文章

最新評(píng)論

昭苏县| 新河县| 太湖县| 霍邱县| 高州市| 比如县| 寻乌县| 舟曲县| 睢宁县| 洛阳市| 威远县| 三亚市| 富顺县| 潜江市| 封丘县| 双辽市| 定西市| 德格县| 大连市| 湟源县| 大同县| 新乡县| 英吉沙县| 突泉县| 蓬莱市| 翼城县| 家居| 永新县| 玉环县| 海兴县| 新昌县| 襄垣县| 嘉峪关市| 皋兰县| 小金县| 永春县| 东乡县| 康马县| 望奎县| 泸溪县| 澄迈县|