更新主数据中不存在的记录

Updating a record when it's not exist in the master data

大家好我现在很困... 已经试了试了试了还是没有结果,问题变得更复杂了 我想做一个“维度”类型的东西..

所以我想做这样的东西,但总是:

ID | NAME | MARKS | START_DATE | END_DATE  | DELETE_FLAG
1  |SATISH| 90    | 2021/03/31 | 9999/12/31| 0
2  |KUMAR | 100   | 2021/03/31 | 9999/12/31| 0

然后 SATISH MARKS 变得更高

ID | NAME | MARKS | START_DATE | END_DATE  | DELETE_FLAG
1  |SATISH| 90    | 2021/03/31 | 2021/04/11| 0
2  |KUMAR | 100   | 2021/03/31 | 9999/12/31| 0
1  |SATISH| 100   | 11/04/2021 | 9999/12/31| 0

然后在日期 2021/04/12 来自学生 TABLE 的 SATISH 记录不存在(物理删除)。会变成这样

ID | NAME | MARKS | START_DATE | END_DATE  | DELETE_FLAG
1  |SATISH| 90    | 2021/03/31 | 2021/04/11| 1
2  |KUMAR | 100   | 2021/03/31 | 9999/12/31| 0
1  |SATISH| 100   | 11/04/2021 | 2021/04/12| 1

我已经尝试过 insert/update 和更新步骤,但仍然卡住了... 也许有人知道?漂亮请... :(

这是我一直在尝试的转变

link transformation

你可以从HERE看我的解决方案。坦率地说,我认为您提供的转换也应该有效。无论如何,在我的转变中-

  1. 我认为具有 (ID+NAME+MARKS) 组合的唯一行
  2. 过滤删除的行并更新维度 table
  3. 过滤新行并插入 Dimention table