我在 oracle 中有一个名为 A 的源表。最初,表 A 被加载(复制)到表 B 中,接下来我在表 A 上操作 DML,如 Insert 、 Delete 、 Update 。
我们如何在表 B 中反映它?无需在目标表中创建任何额外的列。该行的时间戳不可用。
我必须比较源和目标中的行
例如:如果在源中删除了一行,那么它应该在目标中删除。如果更新了行,则在目标中更新,如果在源中不可用,则将其插入目标中。
请帮忙 !!
我在 oracle 中有一个名为 A 的源表。最初,表 A 被加载(复制)到表 B 中,接下来我在表 A 上操作 DML,如 Insert 、 Delete 、 Update 。
我们如何在表 B 中反映它?无需在目标表中创建任何额外的列。该行的时间戳不可用。
我必须比较源和目标中的行
例如:如果在源中删除了一行,那么它应该在目标中删除。如果更新了行,则在目标中更新,如果在源中不可用,则将其插入目标中。
请帮忙 !!
以 A 和 B 为源。
使用连接器进行完全外连接(或者如果两个表在同一个数据库中,您可以在源限定符中连接)
在表达式中,根据以下场景创建一个标志。
现在您可以在使用更新策略应用适当的功能后将记录发送到目标(B)
如果您不想保留在目标表中完成的操作(因为不允许额外的列),最快的方法就是 - 1)截断 B 2)将 A 插入 B