数据同步更新问题

zouyong3868 2017-04-12 09:44:59
SET ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER PROCEDURE [dbo].[Query_Update]

AS
BEGIN
DECLARE @HSGX int , @NDJDW int , @CKSJDW INT, @LSJDW INT, @YHJDW INT,@NDJ NUMERIC(20,8), @CKSJ NUMERIC(20,8),@YHJ NUMERIC(20,8),@LSJ NUMERIC(20,8),@UNI CHAR(10),@DT DATETIME,@ZLDT DATETIME,@CPBH CHAR(16),@TM CHAR(16),@PP CHAR(16),@PM CHAR(50),@GG CHAR(20),@DW2 CHAR(2),@DW CHAR(2),@BZGG CHAR(10)
Select UNI,DT,ZLDT,CPBH,TM,PP,PM,GG,DW2,DW,HSGX,BZGG,NDJ,NDJDW,CKSJ,CKSJDW,YHJ,YHJDW,LSJ,LSJDW
Into #WaitDeal
From CPZL A
Where Not Exists (
Select UNI,DT,ZLDT,CPBH,TM,PP,PM,GG,DW2,DW,HSGX,BZGG,NDJ,NDJDW,CKSJ,CKSJDW,YHJ,YHJDW,LSJ,LSJDW
From CPZL_SANY B
Where A.UNI =B.UNI AND A.CPBH=B.CPBH AND A.ZLDT =B.ZLDT)
-- 定义游标逐条处理
Declare DealCusror Cursor Local For
Select UNI,DT,ZLDT,CPBH,TM,PP,PM,GG,DW2,DW,HSGX,BZGG,NDJ,NDJDW,CKSJ,CKSJDW,YHJ,YHJDW,LSJ,LSJDW
From #WaitDeal
Order By DT
--打开游标
Open DealCusror
--将游标当前行数据传给变量
Fetch Next From DealCusror
Into @UNI,@DT,@ZLDT,@CPBH,@TM,@PP,@PM,@GG,@DW2,@DW,@HSGX,@BZGG,@NDJ,@NDJDW,@CKSJ,@CKSJDW,@YHJ,@YHJDW,@LSJ,@LSJDW
While (@@Fetch_Status = 0)
--如果UNI存在则更新
Begin
If Exists (
Select UNI,DT,ZLDT,CPBH,TM,PP,PM,GG,DW2,DW,HSGX,BZGG,NDJ,NDJDW,CKSJ,CKSJDW,YHJ,YHJDW,LSJ,LSJDW
From CPZL_SANY
Where UNI=@UNI)
Begin
UPdate CPZL_SANY
Set DT=@DT,ZLDT=@ZLDT,CPBH=@CPBH,TM=@TM,PP=@PP,PM=@PM,GG=@GG,DW2=@DW2,DW=@DW,HSGX=@HSGX,BZGG=@BZGG,NDJ=@NDJ
,NDJDW=@NDJDW,CKSJ=@CKSJ,CKSJDW=@CKSJDW,YHJ=@YHJ,YHJDW=@YHJDW,LSJ=@LSJ,LSJDW=@LSJDW
Where UNI=@UNI
END
--否则插入
ELSE
Begin
Insert Into CPZL_SANY(
UNI,DT,ZLDT,CPBH,TM,PP,PM,GG,DW2,DW,HSGX,BZGG,NDJ,NDJDW,CKSJ,CKSJDW,YHJ,YHJDW,LSJ,LSJDW)
Values (
@UNI,@DT,@ZLDT,@CPBH,@TM,@PP,@PM,@GG,@DW2,@DW,@HSGX,@BZGG,@NDJ,@NDJDW,@CKSJ,@CKSJDW,@YHJ,@YHJDW,@LSJ,@LSJDW)

End
Fetch next From DealCusror
Into @UNI,@DT,@ZLDT,@CPBH,@TM,@PP,@PM,@GG,@DW2,@DW,@HSGX,@BZGG,@NDJ,@NDJDW,@CKSJ,@CKSJDW,@YHJ,@YHJDW,@LSJ,@LSJDW
End
Close DealCusror
Deallocate DealCusror
Drop Table #WaitDeal
END


这个是主表

这个是同步表


同步中CPBH是主键不能插入相同编号
这个问题是,原编号5004同步过后主表删除资料又重建了5004 导致资料不能同步
...全文
178 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zouyong3868 2017-04-12
  • 打赏
  • 举报
回复
引用 1 楼 wmxcn2000 的回复:
楼主把问题简化一下,这个内容有点多,并且涉及到你们具体的业务了;
正常同步没有问题,如果一旦将资料删除,并重新创建资料并使用了原有编号就会导致无法同步。这种问题应该如何处理
卖水果的net 2017-04-12
  • 打赏
  • 举报
回复
楼主把问题简化一下,这个内容有点多,并且涉及到你们具体的业务了;
zouyong3868 2017-04-12
  • 打赏
  • 举报
回复
引用 5 楼 sinat_28984567 的回复:
[quote=引用 4 楼 zouyong3868 的回复:] [quote=引用 3 楼 sinat_28984567 的回复:] 是因为主键问题吗?
是的 [/quote] 删除的时候把表数据全都删除,然后重新同步。用truncate table 删除[/quote] 这个我现在已经处理了,先删除没有的在同,不能全部删除,效率太低。就是不知道有没有什么其他的解决方式,比较好一点的。
二月十六 2017-04-12
  • 打赏
  • 举报
回复
引用 4 楼 zouyong3868 的回复:
[quote=引用 3 楼 sinat_28984567 的回复:] 是因为主键问题吗?
是的 [/quote] 删除的时候把表数据全都删除,然后重新同步。用truncate table 删除
zouyong3868 2017-04-12
  • 打赏
  • 举报
回复
引用 3 楼 sinat_28984567 的回复:
是因为主键问题吗?
是的
二月十六 2017-04-12
  • 打赏
  • 举报
回复
是因为主键问题吗?
随着互联网的发展,数据的不断膨胀,从刚开始的关系型数据库到非关系型数据库,再到大数据技术,技术的不断演进最终是随着数据膨胀而不断改变,最初的数据仓库能解决我们的问题,但是随着时代发展,企业已经不满足于数据仓库,希望有更强大的技术来支撑数据的存储,包括结构化,非结构化的数据等,希望能够积累企业的数据,从中挖掘出更大的价值。基于这个背景,数据湖的技术应运而生。本课程基于真实的企业数据湖案例进行讲解,结合业务实现数据湖平台,让大家在实践中理解和掌握数据湖技术,未来数据湖的需求也会不断加大,希望同学们抓住这个机遇。项目中将以热门的互联网电商业务场景为案例讲解,具体分析指标包含:流量分析,订单分析,用户行为分析,营销分析,广告分析等,能承载海量数据的实时分析,数据分析涵盖全端(PC、移动、小程序)应用。Apache Hudi代表Hadoop Upserts anD Incrementals,管理大型分析数据集在HDFS上的存储。Hudi的主要目的是高效减少摄取过程中的数据延迟。Hudi的出现解决了现有hadoop体系的几个问题:1、HDFS的可伸缩性限制 2、需要在Hadoop中更快地呈现数据 3、没有直接支持对现有数据更新和删除 4、快速的ETL和建模 5、要检索所有更新的记录,无论这些更新是添加到最近日期分区的新记录还是对旧数据更新,Hudi都允许用户使用最后一个检查点时间戳,此过程不用执行扫描整个源表的查询。 本课程包含的技术: 开发工具为:IDEA、WebStorm Flink1.9.0、HudiClickHouseHadoop2.7.5 Hbase2.2.6Kafka2.1.0 Hive2.2.0HDFS、MapReduceSpark、ZookeeperBinlog、Canal、MySQLSpringBoot2.0.2.RELEASE SpringCloud Finchley.RELEASEVue.js、Nodejs、HighchartsLinux Shell编程课程亮点: 1.与企业接轨、真实工业界产品 2.ClickHouse高性能列式存储数据库 3.大数据热门技术Flink4.Flink join 实战 5.Hudi数据湖技术6.集成指标明细查询 7.主流微服务后端系统 8.数据库实时同步解决方案 9.涵盖主流前端技术VUE+jQuery+Ajax+NodeJS 10.集成SpringCloud实现统一整合方案 11.互联网大数据企业热门技术栈 12.支持海量数据的实时分析 13.支持全端实时数据分析 14.全程代码实操,提供全部代码和资料 15.提供答疑和提供企业技术方案咨询企业一线架构师讲授,代码在老师的指导下企业可以复用,提供企业解决方案。  版权归作者所有,盗版将进行法律维权。  

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧