SQL Server 2005的XML数据修改语言
2007-05-19 09:42:54 来源:WEB开发网核心提示: 执行上面的SELECT查询后,可以看到CustomerItem中的XML内容,SQL Server 2005的XML数据修改语言(7),如下所示:<C:customer xmlns:C="http://schemas.mybook.com/customerschemas&q
执行上面的SELECT查询后,可以看到CustomerItem中的XML内容,如下所示:
<C:customer xmlns:C="http://schemas.mybook.com/customerschemas">
<item ID="1">
<customername>北方书城</customername>
<address>北京市海淀区知春路22号</address>
<phone>2222222</phone>
<contact>刘先生</contact>
</item>
<item ID="2">
<customername>东图大厦</customername>
<address>长春市朝阳大街99号</address>
<phone>1111111</phone>
<contact>孙小姐</contact>
</item>
</C:customer>
2.delete
delete用于删除XML实例的节点。其语法格式如下:
delete Expression
Expression是要删除的节点的XQuery表达式。删除该表达式选择的所有节点,以及所选节点中的所有节点或值。表达式不能是根(/)节点。如果表达式返回空序列,则不进行删除,不返回错误。
下面的示例演示了从非类型化的xml变量中删除指令、注释、属性、元素和节点的方法。在每次删除后都会显示XML,结果如图3所示。
DECLARE @myDoc xml
SET @myDoc = '<?Instructions for=TheWC.exe ?>
<root>
<!-- 这里是注释 -->
<item ID="1" ShipTo="广州">这里是文本
<title>Ajax实战</title>
<author>张洪举</author>
</item>
<item ID="2">
<title>ASP.NET实战</title>
<author>卢桂章</author>
</item>
</root>'
SELECT @myDoc
-- 删除注释
SET @myDoc.modify('
delete /root/comment()
')
SELECT @myDoc
-- 删除所有指令
SET @myDoc.modify('
delete //processing-instruction()
')
SELECT @myDoc
-- 删除ID为1的item中的文本节点
SET @myDoc.modify('
delete /root/item[@ID=1]/text()
')
SELECT @myDoc
-- 删除一个属性
SET @myDoc.modify('
delete /root/item[@ID=1]/@ShipTo
')
SELECT @myDoc
-- 删除一个元素
SET @myDoc.modify('
delete /root/item[@ID=2]/author
')
SELECT @myDoc
-- 删除ID为2的item节点
SET @myDoc.modify('
delete /root/item[@ID=2]
')
SELECT @myDoc
GO
- ››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表' (数...
更多精彩
赞助商链接