Sqlserver更新数据表xml类型字段内容某个节点值的脚本
GO
USE [JC2010_MAIN_DB] 1、新建备份表JobObjectVersion_JCSchemVersion_BCK)
GO
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[JobObjectVersion_JCSchemVersion_BCK]') AND type in (N'U'))
DROP TABLE [dbo].[JobObjectVersion_JCSchemVersion_BCK]
GO
CREATE TABLE [dbo].[JobObjectVersion_JCSchemVersion_BCK](
[VersionGuid] [varchar](50) NOT NULL,
[ObjectSerializeXml] [xml] NOT NULL,------原xml类型字段(备份)
[NewObjectSerializeXml] [xml] NOT NULL,------新xml类型字段(更新)
CONSTRAINT [PK_JobObjectVersion_JCSchemVersion_BCK] PRIMARY KEY CLUSTERED
(
[VersionGuid] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] GO SET ANSI_PADDING ON
GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'版本唯一标识' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'JobObjectVersion_JCSchemVersion_BCK', @level2type=N'COLUMN',@level2name=N'VersionGuid'
GO EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'对象序列化XML' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'JobObjectVersion_JCSchemVersion_BCK', @level2type=N'COLUMN',@level2name=N'ObjectSerializeXml'
GO EXEC sys.sp_addextendedproperty @name=N'Name', @value=N'作业版本_BCK' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'JobObjectVersion_JCSchemVersion_BCK'
GO DELETE FROM [JobObjectVersion_JCSchemVersion_BCK] INSERT INTO [JC2010_MAIN_DB].[dbo].JobObjectVersion_JCSchemVersion_BCK
SELECT A.VersionGuid,A.ObjectSerializeXml,A.ObjectSerializeXml FROM [JC2010_MAIN_DB].[dbo].[JobObjectVersion] A
INNER JOIN [JC2010_MAIN_DB].[dbo].JCSchemeInfo B
ON A.ObjectGuid=B.SchemeGuid GO
------------更新JobObjectVersion_JCSchemVersion_BCK数据----------------------
GO
UPDATE JobObjectVersion_JCSchemVersion_BCK
SET NewObjectSerializeXml.modify('
replace value of (/JCSchemeData/BaseSchemeInfo/SourceCo/text())[1]
with (
if ((/JCSchemeData/BaseSchemeInfo/SourceCo/text())[1]="本部门年度稽查计划") then
"本部门稽查计划"
else (/JCSchemeData/BaseSchemeInfo/SourceCo/text())[1] cast as xs:string?
)
');
GO ---------------更新正式库作业版本表 dbo.JobObjectVersion的ObjectSerializeXml数据-------------------
USE [JC2010_MAIN_DB]
GO
UPDATE dbo.JobObjectVersion SET ObjectSerializeXml=B.NewObjectSerializeXml
FROM (SELECT VersionGuid,NewObjectSerializeXml FROM JobObjectVersion_JCSchemVersion_BCK) B
WHERE dbo.JobObjectVersion.VersionGuid=B.VersionGuid GO
2、更新结果:
(1)旧数据:
<JCSchemeData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<BaseSchemeInfo>
<SchemeGuid>e52f6eed-66c0-459e-9af0-9504741de2d5</SchemeGuid>
<JobID />
<SchemeID />
<CopGBCode>0X1818384</CopGBCode>
<TradeCo>44199BS232</TradeCo>
<TradeName>东莞长安乌沙李屋上川电子制品厂</TradeName>
<StartTime>2012-12-13T00:00:00</StartTime>
<MethodCo>通知稽查</MethodCo>
<TypeCo>人工选取</TypeCo>
<SourceCo>本部门年度稽查计划</SourceCo>
<ModeCo>常规稽查</ModeCo>
<JCNormalTypeObjects>超过3年未实施常规稽查的AA类企业和单位
</JCNormalTypeObjects>
<HeaderID>c87a6402-6cbd-4ac8-b1c8-9a5874a9be32</HeaderID>
<HeaderName>稽查管理员</HeaderName>
<OperateCustomsCode>5200</OperateCustomsCode>
<CheckPoint>sad</CheckPoint>
<CheckPointExtend />
<CanModifyTradeCo>true</CanModifyTradeCo>
</BaseSchemeInfo>
<Members>
<JobRelativePerson>
<JobGuid>75d071c2-d9fc-4367-b705-ad5166dae47b</JobGuid>
<OperatorGUID>421520ba-0d12-453e-8655-50d8f274fbe8</OperatorGUID>
<OperatorName>孙迪</OperatorName>
<JobID>e52f6eed-66c0-459e-9af0-9504741de2d5</JobID>
</JobRelativePerson>
<JobRelativePerson>
<JobGuid>c1386b63-d7f4-4b69-9a7d-2f6e61e80a31</JobGuid>
<OperatorGUID>27506200-893e-4ce8-a50c-98b333beac7d</OperatorGUID>
<OperatorName>罗小华</OperatorName>
<JobID>e52f6eed-66c0-459e-9af0-9504741de2d5</JobID>
</JobRelativePerson>
</Members>
<FxCategory />
</JCSchemeData>
(2)新数据:
<JCSchemeData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<BaseSchemeInfo>
<SchemeGuid>e52f6eed-66c0-459e-9af0-9504741de2d5</SchemeGuid>
<JobID />
<SchemeID />
<CopGBCode>0X1818384</CopGBCode>
<TradeCo>44199BS232</TradeCo>
<TradeName>东莞长安乌沙李屋上川电子制品厂</TradeName>
<StartTime>2012-12-13T00:00:00</StartTime>
<MethodCo>通知稽查</MethodCo>
<TypeCo>人工选取</TypeCo>
<SourceCo>本部门稽查计划</SourceCo>
<ModeCo>常规稽查</ModeCo>
<JCNormalTypeObjects>超过3年未实施常规稽查的AA类企业和单位
</JCNormalTypeObjects>
<HeaderID>c87a6402-6cbd-4ac8-b1c8-9a5874a9be32</HeaderID>
<HeaderName>稽查管理员</HeaderName>
<OperateCustomsCode>5200</OperateCustomsCode>
<CheckPoint>sad</CheckPoint>
<CheckPointExtend />
<CanModifyTradeCo>true</CanModifyTradeCo>
</BaseSchemeInfo>
<Members>
<JobRelativePerson>
<JobGuid>75d071c2-d9fc-4367-b705-ad5166dae47b</JobGuid>
<OperatorGUID>421520ba-0d12-453e-8655-50d8f274fbe8</OperatorGUID>
<OperatorName>孙迪</OperatorName>
<JobID>e52f6eed-66c0-459e-9af0-9504741de2d5</JobID>
</JobRelativePerson>
<JobRelativePerson>
<JobGuid>c1386b63-d7f4-4b69-9a7d-2f6e61e80a31</JobGuid>
<OperatorGUID>27506200-893e-4ce8-a50c-98b333beac7d</OperatorGUID>
<OperatorName>罗小华</OperatorName>
<JobID>e52f6eed-66c0-459e-9af0-9504741de2d5</JobID>
</JobRelativePerson>
</Members>
<FxCategory />
</JCSchemeData>
Sqlserver更新数据表xml类型字段内容某个节点值的脚本的更多相关文章
- Oracle中使用游标转换数据表中指定字段内容格式(拼音转数字)
应用场景:将数据表TB_USER中字段NNDP的内容中为[sannanyinv]转换为[3男1女] 主要脚本:一个游标脚本+分割字符串函数+拼音转数字脚本 操作步骤如下: 1.创建类型 create ...
- 站内搜索(ELK)之数据表字典类型字段的索引思路
数据表字典类型的字段,如人员表中的“性别”.流程表中的“处理状态”,此类字段中的值高度重复,不建议放到可检索的索引字段中,原因如下: 若数据表字典类型字段的值索引到单独的索引字段中,因字典数据字符数一 ...
- MySQL为数据表的指定字段插入数据
username not null 没有默认值/有默认值 insert不插入username字段 均不报错 2014年07月23日21:05 百科369 MySQL为数据表的指定字段插入数据 ...
- C# 如何获取SQL Server 中指定数据表的所有字段名和字段类型
如何获取指定数据表的所有字段名和字段类型.SqlConnection.GetSchema方法有2个重载形式,获取指定数据表的所有字段名和字段类型的秘密就在GetSchema (String, Stri ...
- 批量处理sql 数据存入xml类型列
个人记录 需求:当表T1 ItemCode和表T2 ItemName的数据相等时,将表T2所对应的ID和ItemName列的数据分别存入表T1 CAOZUO字段的id元素和text元素的文本中. 下面 ...
- SqlServer创建数据表描述及列描述信息
SqlServer创建数据表描述及列描述信息 Intro Q: 为什么要创建描述信息? A: 鼠标悬停在对应表和列上时,会出现描述信息,可以提高工作的效率,借助工具我们根据数据表可以生成Model,可 ...
- 谈谈MySQL数据表的类型(转)
谈谈MySQL数据表的类型 通常意义上,数据库也就是数据的集合,具体到计算机上数据库可以是存储器上一些文件的集合或者一些内存数据的集合. 我们通常说的MySql数据库,sql server数据库等等其 ...
- Java更新Oracle的clob类型字段
Java更新Oracle的clob类型字段 1.查询该clob字段 2.处理该clob字段查询结果 3.更新该clob字段查询结果 1.查询该clob字段 <select id="se ...
- Oracle使用游标查询指定数据表的所有字段名称组合而成的字符串
应用场合:参考网上查询数据表的所有字段名代码,使用游标生成指定单个表的所有字段名跟逗号组成的用于select 逗号隔开的字段名列表 from字符串等场合. 查询结果输出如下: 当前数据表TB_UD_ ...
随机推荐
- spring aop例子
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAATcAAAFWCAIAAACD6E2aAAAgAElEQVR4nO2df1gTV77/55/93z/2ee
- linux的exec命令
linux的exec命令可以多进程执行,如果在浏览器访问使用http协议,会存在内存溢出和执行时间问题.
- asp.net程序中如何使用皮肤更换的小功能
写这篇文章,因要往OA系统上添加更换主题的功能,在网上仔细搜索了一下,主要有几种方法可以实现, 第一种:使用原生态javascript+Css来实现,(代码多,看着纠结,对于前台不熟悉的程序员来说看深 ...
- 类名.this与类名.class
1..当在内部类中使用this指的就是内部类的对象, 为了访问外层类对象,就可以使用外层类名.this来访问. 2.在java中,每个class都有一个相应的Class对象,当编写好一个类,编译完成后 ...
- CSS3中的transform变形
在CSS3中,用Transform功能可以实现文字或图像的旋转.缩放.倾斜.移动这四种类型的变形,这四种变形分别使用rotate.scale.skew和translate这四种方法来实现.将这四种变形 ...
- vim编辑器命令
Vim介绍 vim(vimsual)是Linux/Unix系列OS中通用的全屏编辑器. vim分为两种状态,即命令状态和编辑状态,在命令状态下,所键入的字符系统均作为命令来处理,如:q代表退出,而编辑 ...
- M_LROOT,LD_LIBRARY_PATH, “Not all extension Dlls were loaded”问题原因及解决方法(持续更新)
最近在需要在云主机上进行压力测试,所以需要Linux的Agent. 一.安装:教程可以百度,大概步骤如下: 1.Upload Linux.zip to 指定的机器 2.解压,chmod 777 $Li ...
- javaScript的select元素和option的相关操作
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- html表格table设置边框
对于很多初学HTML的人来说,表格<table>是最常用的标签了,但对于表格边框的控制,很多初学者却不甚其解. 一般我们用表格的时候总会给它个border属性,比如:<table b ...
- 深入mysql慢查询设置的详解
set long_query_time=1; #设置慢查询时间为1 秒; set global slow_query_log=on; #开启慢查询日志; show global status like ...