SQL 中对XML数据的修改

 

 

 

今天云次那个数据出错, 一看,靠,原来的脚本Bat改称cmd了。只能修改数据了。

原来的数据:

<VStormCliCreator>
  <MachineName>B1-Site</MachineName>
  <NIC>TrunkNetworkSwitch</NIC>
  <Host>MSD-1531346.fareast.corp.microsoft.com</Host>
  <Memory>4096</Memory>
  <Password>User@123</Password>
  <VLanID>979</VLanID>
  <PostScripts>
    <PostScript>\\172.23.93.230\scratch$\v-XXX\Run.bat</PostScript>
  </PostScripts>
  <ImageName>97-SP2</ImageName>
  <OSID>97</OSID>
</VStormCliCreator>

 

修改命令:

update dbo.MachineConfigs set CreatorConfig.modify('replace value of 
(/VStormCliCreator/PostScripts/PostScript/text())[1] with ("\\172.23.93.230\scratch$\v-XXX\Run.cmd")') 
where ID = '49E6303D-577D-43C8-BB57-0533FC19BBEC' 

select * from dbo.MachineConfigs  where ID = '49E6303D-577D-43C8-BB57-0533FC19BBEC'

 

该后的数据:

<VStormCliCreator>
  <MachineName>B1-Site</MachineName>
  <NIC>TrunkNetworkSwitch</NIC>
  <Host>MSD-1531346.fareast.corp.microsoft.com</Host>
  <Memory>4096</Memory>
  <Password>User@123</Password>
  <VLanID>979</VLanID>
  <PostScripts>
    <PostScript>\\172.23.93.230\scratch$\v-XXX\Run.cmd</PostScript>
  </PostScripts>
  <ImageName>97-SP2</ImageName>
  <OSID>97</OSID>
</VStormCliCreator>
 
着重感谢 郭勇成的《如何对SQL Server中的XML数据进行insert Update delete》 http://blog.csdn.net/tjvictor/archive/2009/07/21/4368496.aspx

modify方法

该方法可以对 XML数据进行更新。通过XQuery中添加的insert、delete和update关键字提供了对XML DML的支持,使用 insert、delete和update关键字可以分别插入、删除和更新一个或多个节点。例如,在查询窗口中输入以下代码:

 
  
UPDATE books SET xmlCol.modify( ' insert <section num="1">
<content>Background</content> </section> after (/book/title)[1] ' ) where id = 1

在该段代码的第1行使用UPDATE语句修改books表中xmlCol类型的字段,在第2~7行使用insert

 
 
ContractedBlock.gif ExpandedBlockStart.gif 代码
 
   
1 < book type ="computer" publicationdate ="2008" ISBN ="0-7356-1588-2" >
2 < title > c# </ title >
3   < author >
4 < first-name > sheng </ first-name >
5 < last-name > bin </ last-name >
6 </ author >
7 < author >
8 < first-name > gengxin </ first-name >
9 < last-name > sun </ last-name >
10 </ author >
11 < price > 35.99 </ price >
12 </ book >

 

执行此段代码后,在id列值为1的记录的xmlCol列中添加元素section,此元素将添加在title元素的下面。更改后的xmlCol列的内容将如下所示。

 
 
ContractedBlock.gif ExpandedBlockStart.gif 代码
 
   
1 < book type ="computer" publicationdate ="2008" ISBN ="0-7356-1588-2" >
2 < title > c# </ title >
3 < section num ="1" >
4 < content > Background </ content >
5 </ section >
6 < author >
7 < first-name > sheng </ first-name >
8 < last-name > bin </ last-name >
9 </ author >
10 < author >
11 < first-name > gengxin </ first-name >
12 < last-name > sun </ last-name >
13 </ author >
14 < price > 35.99 </ price >
15 </ book >

 

转载于:https://www.cnblogs.com/jimson/archive/2010/07/16/Sql2.html

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值