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

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

 2006-11-18 09:16:06 来源:WEB开发网   
核心提示: DECLARE @doc xmlSELECT @doc = '<Team name="Braves"><Players><Pitcher name="John Smoltz" role="Closer">With team
DECLARE @doc xml
SELECT @doc = '
<Team name="Braves">
<Players>
<Pitcher name="John Smoltz" role="Closer">
With team since 1989
</Pitcher>
</Players>
</Team>'
SET @doc.modify('
replace value of (/Team/Players/Pitcher[
@name="John Smoltz"]/text())[1]
with "May start in 2005"
')

修改属性是直接的:你只需要使用XQuery表达式来解析单个属性。例如,为了使用"Starter"替换投球手John Smoltz的role属性的值,你可以编写如下的语句:

SET @doc.modify('
replace value of (/Team/Players/Pitcher[
@name="John Smoltz"]/@role)[1]
with "Starter"
')

replace value语法也支持条件替换,这可以通过在replace value语句的with子句内使用if…then…else语法实现。例如,如果John Smoltz是一个Closer的话,把他的role替换为Starter;但是如果他不是一个Starter的话,则把role属性修改为Closer;那么,你可以编写如下的代码:

SET @doc.modify('
replace value of (/Team/Players/Pitcher[
@name="John Smoltz"]/@role)[1]
with (
if (/Team/Players/Pitcher[
@name="John Smoltz"]/@role = "Closer") then
"Starter"
else
"Closer"
)
')

nodes方法

nodes方法用于把一组由一个查询返回的结点转换成一个类似于结果集的表中的一组记录行。该方法的语法如下:

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

Tags:SQL Server XML

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