WEB开发网
开发学院数据库MSSQL Server SQL Server2005的XML数据类型之基础篇 阅读

SQL Server2005的XML数据类型之基础篇

 2006-11-18 09:16:06 来源:WEB开发网   
核心提示: --在小组内进行插入SET @doc.modify('insert <Pitcher role="Starter"name="Jaret Wright"/>into (/Team/Players)[1]')--在小组内进行插入,指定它

--在小组内进行插入

SET @doc.modify('
insert <Pitcher role="Starter"
name="Jaret Wright"/>
into (/Team/Players)[1]
')

--在小组内进行插入,指定它应该

--作为最后一个元素插入

SET @doc.modify('
insert <Pitcher role="Starter"
name="Jaret Wright"/>
as last into (/Team/Players)[1]
')

delete语句的语法很直接:

delete LocationExpression

这个LocationExpression指定要从XML数据中删除什么内容。例如,要删除所有的投球手:

SET @doc.modify('delete/Team/Player/Pitcher')

因为查询指定所有的投球手元素,所以它们将被全部删除。如果你想仅删除一个元素,那么你可以指定标识属性。例如,为了仅删除投球手John Smoltz,你可以编写如下的delete语句:

SET @doc.modify('
delete /Team/Players/Pitcher[@name="John Smoltz"]
')

你可以使delete语句删除单个属性。例如,为了删除针对投球手John Smoltz的role属性,相应的XML DML看上去如下所示:

SET @doc.modify('
delete /Team/Players/Pitcher[
@name="John Smoltz"]/@role')

最后,replace value语句描述了对XML数据的修改。这个replace value语句的语法如下:

replace value of
OriginalExpression
with
ReplacementValue | if

这个replace value语句用来修改在XML中的值。唯一可能的值是一个标签的内容或一个属性的值。这个OriginalExpression必须解析为单个结点或属性。这个ReplacementValue通常是一个要代替的值。代替一个结点的内容要求使用text()函数的XQuery表达式来指定你想代替一个结点的文本。例如,为了替换一个投球手的内部文本(inner text),你可以编写类似如下的Modify语句:

上一页  2 3 4 5 6 7 8 9  下一页

Tags:SQL Server XML

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接