对于给定密钥,从目标中删除现有记录并在同一事务中从源插入记录

时间:2014-05-22 05:19:28

标签: transactions informatica informatica-powercenter

我正在使用Informatica Power Center 9.1.0并使用以下用例进行阻止。

对于任何给定的密钥,从目标表中删除现有记录 将soruce中的记录插入到同一目标表中并删除 并且插入应该在单个事务中发生。

来源数据:

BusDate   Order Product Quantity
21-May    O1    Phone        100
21-May    O1    Tab           50
21-May    O1    Cam           75
21-May    O1    PC           200
21-May    O2    Phone        150 
21-May    O2    PC            50

源数据如上面的表格fomrat所述,当我们写入目标时,删除给定业务日期和订单ID组合的现有数据并在同一事务中插入新数据。

在订单1(O1)和BusDate 5/21的上述示例中,我们要删除目标表中的所有现有记录,并在同一事务中插入所有4条记录。

如果我需要在 SQL

中执行相同的操作
BEGIN TRANSACTION

DELETE target_table
WHERE BusDate = '5/21/2014'
AND Order = 'O1'

INSERT target_table
SELECT *
FROM input_table
WHERE BusDate = '5/21/2014'
AND Order = 'O1'

COMMIT TRANSACTION

0 个答案:

没有答案