我正在使用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