1

I have SAP BODS as ETL tool running towards Oracle Exadata. I would like to produce a merge into statement from BODS that include a where clause, limiting the columns that will be updated when found a match.

The merge statement I have today looks like this:

MERGE INTO TargetTable s 
USING
(SELECT  columns
FROM "sourceTable"
) n 
ON ((s.Column= n.Column) WHEN MATCHED THEN
UPDATE SET s."Column" = n.Column
-----MISSING where clause ------
WHEN NOT MATCHED THEN
INSERT  /*+ APPEND */ (s.columns)
VALUES (n.Columns);
Sandra Rossi
  • 11,934
  • 5
  • 22
  • 48
  • It's not clear to me if you need to limit the columns to update based on some condition or the rows to update. Please post some sample data and needed result to clarify your need. – Aleksej Jan 25 '17 at 14:00

1 Answers1

0

Use DS target Auto Correct load. There are several options to play with there and if you

allow merge sets to 'Yes'

You will have the above query generated. But please take care as proper keys should be set in target for this to happen.

Cheerz. Shaz