首页 > 数据库 >利用 Kattle 同步数据库记录

利用 Kattle 同步数据库记录

时间:2023-05-30 14:46:22浏览次数:38  
标签:00 同步 记录 MAX 数据库 KEEPDATE FLG Kattle

在工作中要实现 Oracle 数据库之间的记录传递,于是使用 Kattle 工具实现此同步功能,主要设计过程如下图:

 我们先看下整个作业过程,主要是通过建立三个转换来实现:

一、获取最近的传输标识;

   A、获取 PUR_ORDER_TRAINMIT_LOG 表中 CREDATE_FLG 字段,记录下最后一次同步的增量时间点

   SELECT NVL(MAX(CREDATE_FLG),'2023-05-18 00:00:00') AS LAST_KEEPDATE_FLG FROM PUR_ORDER_TRAINMIT_LOG

  B、将  CREDATE_FLG  字段值作为公共变量,后续的第二个“同步传输数据”转换环节会使用到它

 

二、同步传输数据;

     A、获取本次要同步的记录,利用  ${LAST_KEEPDATE_FLG} 公共变量

SELECT INOUTID,SALESID,CREDATE,KEEPDATE,CUSTOMID,GOODSID,
GOODSNAME,
GOODSTYPE,GOODSUNIT,APPROVEDOCNO,BARCODE,
FACTORYNAME,GOODSQTY,UNITPRICE,TOTAL_LINE,PRODDATE,INVALIDDATE,TAXRATE
FROM ZX_DEALING_GOODS_SADTL_V
WHERE GOODSQTY>0 AND KEEPDATE > TO_DATE('${LAST_KEEPDATE_FLG}','yyyy-MM-dd HH24:mi:ss')

注:替换 SQL 语句里的变量,此项打勾。

   B、同步记录

 注:如果记录中 INOUTID 存在一条或多条记录,那么它会新增一条记录,然后更改相同 INOUTID 的记录

 

三、保存当次同步信息;

   A、记录下本次同步的时间点 MAX_KEEPDATE ,并作为公共变量

SELECT TO_CHAR(NVL(MAX(KEEPDATE),TO_DATE('2023-05-18 00:00:00','yyyy-MM-dd HH24:mi:ss')),'yyyy-MM-dd HH24:mi:ss') AS MAX_KEEPDATE FROM PUR_ORDER_TRAINMIT

   B、 保存本次同步的时间点

 注: 1、语句中的参数变成了 ? , 要记得将 “执行每一行?”、“变量替换”这两项务必打勾;2、点击“获取字段”按钮,将填充左下方的“参数”列表栏,我们看到存在了一个 MAX_KEEPDATE 参数,如果存在多个参数的话,可能通过拖放来调整排列位置,以便于与上面 SQL 语句的参数位置一致。

 

标签:00,同步,记录,MAX,数据库,KEEPDATE,FLG,Kattle
From: https://www.cnblogs.com/totomylike/p/17443173.html

相关文章

  • spingBoot连接mysql数据库
    1.最终效果 字符串+数据库中id为2的手机号 2.代码设置了响应的内容的格式  3mysql数据库内表内容数据库名称qikegu_demo ----------------------------------------------------------------------------------------------------------------------------------......
  • 1万7千多首古诗词范赏评诗词ACCESS\EXCEL数据库
    虽然收集了一些古诗词相关的数据库,但好像没有什么注释点评类的内容,而今天这份《1万7千多首古诗词范赏评诗词ACCESS数据库》包含了17704首本地赏评诗词、12个朝代分门别类、1680位本地诗人简介、超过50个诗词分类欣赏。样本请从以下链接下载:链接:https://pan.baidu.com/s/1XV4F......
  • 2万3千多条英文名言名句精选集ACCESS\EXCEL数据库
    截图下方有显示“共有记录数”,截图包含了表的所有字段列。该数据提供ACCESS数据库文件(扩展名是MDB)以及EXCEL文件(扩展名是XLS)。共有23710条记录,根据AUTHOR_ID关联AUTHORS作者表中的ID字段包含6567个作者,根据ID关联QUOTES表中的AUTHOR_ID字段截图下方有显示“共有记录数”,截图......
  • 1万7千道法律职业考试题ACCESS\EXCEL数据库
    今天这个《1万7千道法律职业考试题ACCESS数据库》集收了海量的法考题库试题,是从法律职业考试软件取提出来的,让你备考通关更加高效。今天这个《1万7千道法律职业考试题ACCESS数据库》集收了海量的法考题库试题,是从法律职业考试软件取提出来的,让你备考通关更加高效。包含分类:1.法......
  • 2万多公务员考试宝典题库ACCESS\EXCEL\SQLite3数据库
    虽然之前弄到过《1万多公务员考试基础知识题库ACCESS数据库》,但完全没有今天这份数据库那么美。今天这份数据是从一款考试学习类的软件中破解提取出来的,据数非常不错,不但有大小分类,而且题型包含:单项选择题(25575条)、简答题(942条)。题库中有些包含图片问答,或者选项中有含图片,如:......
  • 数据库简述权限和角色的概念以及它们的区别?
    1、含义权限是对资源的一种保护访问,用户要访问A资源前提是用户必须有A资源的访问权限。角色的概念:实事上我们不会直接把权限赋予给用户,而是通过角色来赋予给用户,因为用户拥有某一种权限是因为用户扮演着某一种角色。2、区别权限角色是系统功能权限设置的基础,相当于用户分组,所有用......
  • Python异步编程之web框架 异步vs同步 文件IO任务压测对比
    测试基本信息主题:比较异步框架和同步框架在文件IO操作的性能差异python版本:python3.8压测工具:locustweb框架:同步:flask异步:aiohttp、starlette异步文件模块:aiofiles、anyio.Path请求并发量:模拟10个用户服务器配置:Intel(R)i7-12700F客户端配置:Intel(R)i7-87003......
  • net6 使用 efcore 根据 mysql数据库生成代码
    1.vs中下载程序NuGet包Microsoft.EntityFrameworkCore.ToolsPomelo.EntityFrameworkCore.MySql 把这两个安装好就可以了或者你嫌麻烦也可以直接用命令下载 打开VS2019"工具"->"Nuget包管理器"->"程序包器管理控制台"PM>Install-PackageMicrosoft.EntityFrameworkCore.Too......
  • 基于JAVA的springboot+vue医院信息管理系统、医院挂号管理系统,附源码+数据库+论文+PPT
    1、项目介绍任何系统都要遵循系统设计的基本流程,本系统也不例外,同样需要经过市场调研,需求分析,概要设计,详细设计,编码,测试这些步骤,基于java语言设计并实现了医院信管系统。该系统基于B/S即所谓浏览器/服务器模式,应用java技术,选择MySQL作为后台数据库。系统主要包括首页,个人中心,用户......
  • 奇怪的数据库切换问题
    今天从mysql单实例切换到OB,暴露了一个奇怪的问题:一个select语句,在单实例mysql中对时间排序查询,即使时间重复,顺序也是固定的。而在OB中,因为是分布式,从不同实例查询拼接,如果时间重复,那几次相同查询,顺序会变化。哈哈哈哈,因为分布式不是强一致的,从不同节点拉数据会有时差,只要符合当......