SQL Server 2005的3个新关键字 insert, delete ,change value of 用来修改XML数据。
为了插入XML,必须使用insert关键字,为了将XML片段插入到XML结构,SQLServer还提供了3个关键字。
after 将XML片段插入到XML结构中指定节点之后
before 将XML片段插入到XML结构中指定节点之前
into 将XML片段插入到使用AS first 或 AS last 指定的节点中
插入数据:
UPDATE PurchaseOrders SET TestOrder.modify('insert <name>Hello Test88888888</name> after(/about/template/name)[3] ') WHERE PurchaseID=1
以上SQL语句将 数据 <name>Hello Test88888888</name> 插入到about 节点下的template节点下的name节点后面。
更新数据:
UPDATE PurchaseOrders SET PurchaseOrder.modify('replace value of (/about/template/name/text())[1] with "2005-12-23" ') WHERE PurchaseID=1
以上SQL语句 将 节点/about/template/下的第一个name节点的值修改为 2005-12-23
删除数据:
UPDATE PurchaseOrders SET PurchaseOrder.modify('delete (/about/template/name)[1]') where PurchaseID=1
以上SQL语句 将(/about/template/下的name节点删除掉了。
注意:所有操作XML的关键字都必须小写哦!
在SQL语句操作中的[1]下标指的是 插入就是插入的位置,如果有两个name节点,则[2]就是插入到第二个name节点后面!删除、更新也是一致的。