SQL Xml字段的修改方法
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 <isbn>78-596-134</isbn> 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]')
【編輯推薦】