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_ ...
随机推荐
- 转载-- C/S 与 B/S 区别
C/S 与 B/S 区别 C/S结构,即Client/Server(客户机/服务器)结构,是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,可 ...
- Windows Server 2003 SP2 R2 企业版/标准版/32与64位 CD-KEY
微软发布Windows Server 2003 R2版的目的是希望透过它填补Windows Server 2003 SP1和Longhorn Server之间的产品发布时间间隔.所以Windows S ...
- CentOS 5 64bit 编译安装MySQL报错
报错情况: 在执行./configure时出现configure: error: No curses/termcap library found 解决方法: ./configure时加上参数--w ...
- 真机测试,Xcode报错:process launch failed: Security
解决办法:手机->通用->设备管理->信任开发商应用即可
- Linux程序设计笔记
使用size命令查看二进制文件时,结果并不一定和预测占用内存大小一致,因为可能存在内存对齐,导致内存字节数比实际的更多 在C语言中,字符串常量存放在text segment中,在C++中却是存储在da ...
- 转载:CURL常用命令
转载网址:http://www.cnblogs.com/gbyukg/p/3326825.html 下载单个文件,默认将输出打印到标准输出中(STDOUT)中 curl http://www.cent ...
- wdcp/wdlinux一键包的php5.3版本添加Zend.so 和Soap.so
Wdcp 安装soap扩展 1.首先进入 soap模块的安装文件,wdcp安装包解压对应的php中有,如:/root/miloxi/lanmp/php-5.5.10/ext/soap 2.执行: (1 ...
- 制作PHP安装程序的原理和步骤56
制作PHP安装程序的原理和步骤56 1.制作PHP安装程序的原理和步骤检查目录或文件的权限----修改或填加配置文件---检查配置文件正 确性---导入数据库----锁定或删除安装文件 原理: 其实P ...
- 重定位表 IMAGE_BASE_RELOCATION
typedef struct _IMAGE_BASE_RELOCATION { DWORD VirtualAddress; DWORD SizeOfBlock; // WORD TypeOffset[ ...
- CSS jQuery 图片全屏切换
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...