SQL Server 2005的XML数据修改语言
2007-05-19 09:42:54 来源:WEB开发网核心提示: 图3从非类型化xml变量中删除注释、指令、属性、元素和节点下面的语句演示从类型化XML中删除节点的方法,其中的MyCustomer是前面在“将节点插入类型化的xml列中”部分中创建的,SQL Server 2005的XML数据修改语言(8),UPDATE MyCus
图3从非类型化xml变量中删除注释、指令、属性、元素和节点
下面的语句演示从类型化XML中删除节点的方法,其中的MyCustomer是前面在“将节点插入类型化的xml列中”部分中创建的。
UPDATE MyCustomer
SET CustomerItem.modify('
declare namespace CS="http://schemas.mybook.com/customerschemas";
delete /CS:customer/item[@ID=2]
');
SELECT CustomerItem FROM MyCustomer;
GO
3.replace
replace用于更新文档中的值。其语法格式如下:
replace value of
Expression1
with
Expression2
Expression1
标识其值要更新的节点。它必须仅标识一个单个节点。如果XML已类型化,则节点的类型必须是具有简单类型内容(列表或原子类型)的单个元素、文本节点或属性节点,不能是联合类型、复杂类型、处理指令、文档节点或注释节点。否则,将返回错误。
Expression2
标识节点的新值。在修改类型化的XML实例中,Expression2与Expression1必须是相同类型。
下面的示例演示了更新XML中元素的文本和属性值的方法。每次更改时,都会显示XML,如图4所示。
DECLARE @myDoc xml
SET @myDoc = '<root>
<item ID="1">
<title>Ajax实战</title>
<author>张洪举</author>
</item>
<item ID="2">
<title>ASP.NET实战</title>
<author>卢桂章</author>
</item>
</root>'
SELECT @myDoc
-- 更新ID为1的item中的title元素的文本
SET @myDoc.modify('
replace value of (/root/item[@ID=1]/title/text())[1]
with "Ajax实战攻略"
')
SELECT @myDoc
-- 更新属性值
SET @myDoc.modify('
replace value of (/root/item[@ID=2]/@ID)[1]
with "3"
')
SELECT @myDoc
图4 更改XML中元素的文本和属性值
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
更多精彩
赞助商链接