SQL数据库中的Xml字段应该如何进行修改和删除操作呢?可能不少人都不是很了解 。下面就为您介绍SQL Xml字段的修改方法,供您参考 。
SQL的修改操作包括更新和删除 。SQL提供了modify()方法,实现对SQL Xml字段的修改操作 。modify方法的参数为SQL Xml字段修改语言 。XML修改语言类似于SQL 的Insert、Delete、UpDate,但并不一样 。例如,我们希望将id为0001的书的价钱(price)修改为100, 我们就可以使用modify方法 。代码如下:
set @xmlDoc.modify(replace value of (/root/book[@id=0001]/price/text())[1] with "100")
--得到id为0001的book节点
select @xmlDoc.query((/root/book[@id="0001"]))
--删除节点id为0002的book节点
set @xmlDoc.modify(delete /root/book[@id=0002])
select @xmlDoc
--添加节点
set @xmlDoc.modify(insert 78-596-134 before (/root/book[@id=0001]/price)[1])
select @xmlDoc.query((/root/book[@id="0001"]/isbn))
添加和删除属性:当你学会对节点的操作以后,你会发现,很多时候,我们需要对节点进行操作 。这个时候我们依然使用modify方法,例如,向id为0001的book节点中添加一个date属性,用来存储出版时间 。代码如下:
--添加属性
set @xmlDoc.modify(insert attribute date{"2008-11-27"} into (/root/book[@id=0001])[1])
select @xmlDoc.query((/root/book[@id="0001"]))
--删除属性
set @xmlDoc.modify(delete root/book[@id="0001"]/@id)
select @xmlDoc.query((/root/book)[1])
--修改属性
set @xmlDoc.modify(replace value of (root/book[@id="0001"]/@id)[1] with "0005")
select @xmlDoc.query((/root/book)[1])