-1
我在一个表中有XML字段。我想更新该字段。这里是XML格式:更新sql server 2008中的XML字段
<data><user>abcd</user></data>
我想价值abcd
更改为efgh
。我怎样才能做到这一点?
我在一个表中有XML字段。我想更新该字段。这里是XML格式:更新sql server 2008中的XML字段
<data><user>abcd</user></data>
我想价值abcd
更改为efgh
。我怎样才能做到这一点?
这里有一些例子来说明如何更新到常量,变量或使用现有的列信息:
declare @x table(i bigint not null identity(1,1), x xml, y nvarchar(64))
declare @z nvarchar(64) = 'sql variable data'
insert @x select '<data><user>abcd</user></data>', 'sql column data 1'
insert @x select '<data><user>abcd</user></data>', 'sql column data 2'
insert @x select '<data><user>abcd</user></data>', 'sql column data 3'
update @x
set x.modify('replace value of (/data/user/text())[1] with ''efgh''')
where i=1
update @x
set x.modify('replace value of (/data/user/text())[1] with sql:column(''y'')')
where i=2
update @x
set x.modify('replace value of (/data/user/text())[1] with sql:variable(''@z'')')
where i=3
select * from @x
输出:
i x y
1 <data><user>efgh</user></data> sql column data 1
2 <data><user>sql column data 2</user></data> sql column data 2
3 <data><user>sql variable data</user></data> sql column data 3
http://msdn.microsoft.com/en-us/library/ms190675.aspx – JohnLBevan
请考虑从http第一十个条目://计算器。 com/search?q =%5Bsql-server%5D + update + xml – GSerg