隨遇灬而安 2018-11-13 12:48 采纳率: 33.3%
浏览 4228
已采纳

kettle中有源表和目标表,两个表的表输入的查询中的表名是一个变量,如何让源表中的数据更新到目标表中?

图片说明
如上图所示(不知道有没有显示出来,转换中有两个表输入,一个叫源表,一个叫目标表,他们来自两个不同的库,查询都是 select * from ${TABLENAME} )
那么,如何让源表中的数据插入或更新到目标表中呢?
尝试过的思路(PS:不可取的思路):
1、暴力操作:执行sql脚本(清空目标表数据)--> 表输入(获取源表数据)-->表输出(将源表数据插入到目标表中) 因为表输出可以不用指定数据库字段,因此能实现需求,但太暴力,boss明确说明,这样不可取。
2、合并记录: 合并记录需要关键字段和数据字段,而我两个表输入都是用的变量的方式,因此不知道数据字段,并且每个表的主键也不一样,关键字段也不好填写。不知道有没有方式能够取到关键字段和数据字段。
3、两个表输入都指向java代码,利用java代码实现比较,然后再更新目标表(没有尝试不知道可不可行)

            以上是尝试过的方法,以失败告终。不知道有没有好的方法能够解决这个问题。
            求,急
  • 写回答

2条回答

      报告相同问题?

      相关推荐 更多相似问题

      悬赏问题

      • ¥30 关于#网络安全#的问题:非对称加密验证
      • ¥20 关于线性代数里施密特正交化和QR分解的疑问
      • ¥15 matlab超类包含解析错误
      • ¥15 python拖拽文件问题
      • ¥15 执行import paddle代码出现错误如何解决?
      • ¥15 hisat2align exited with value 137
      • ¥15 寻找大学生合作开发软件(Delphi)
      • ¥30 AndroidBench&eMMC内存测试速度&Android
      • ¥15 W10 文件共享失败 怎么解决
      • ¥20 b站私信完整导出的方法