This step can be used in conjunction with the Merge Rows (diff) transformation step. The Merge Rows (diff) transformation step appends a Flag column to each row, with a value of "identical", "changed", "new" or "deleted". This flag column is then used by the Synchronize after merge transformation step to carry out updates/inserts/deletes on a connection table.
This diagram shows a typical transformation:
Note that the input data streams must be sorted before being passed into the Merge Rows (diff) transformation step. Make sure the sort column(s) are of same or equal data type. Both input tables must have the same number of columns.
Name of the step; this name has to be unique in a single transformation.
The database connection to which data is written
The name of the Schema for the table to which data is written. This is important for data sources that allow for table names with periods in them.
Name of the table in which you want to do the insert/update/delete.
The number of rows to change before running a commit.
Use batch update
Tablename is defined in a field
Key Lookup table
Allows you to specify a list of field values and comparators. You can use the following comparators: =, <>, <, <=, >, >=, LIKE, BETWEEN, IS NULL, IS NOT NULL
Allows you to specify all fields in the table you want to insert/update including the keys. Avoid updates on certain fields (e.g. primary keys or non-null constrained fields) by specifying N in the update column.
Note: Click Get Update fields to retrieve a list of update fields from the input stream(s).
Click SQL to generate the SQL to create the table and indexes for correct operation.
Default value from the Merge Rows (diff) transformation step
This is a required field. This field is used by the step to obtain an operation flag for the current row.
Insert when value equal
Specify the value of the Operation fieldname which signifies that an Insert should be carried out.
Update when value equal
Specify the value of the Operation fieldname which signifies that an Update should be carried out.
Delete when value equal
Specify the value of the Operation fieldname which signifies that a Delete should be carried out.
Performs a lookup when deleting or updating. If the lookup field is not found, then an exception is thrown. This option can be used as an extra check if you wish to check updates/deletes prior to their execution.
Metadata Injection Support (7.x and later)
All fields of this step support metadata injection. You can use this step with ETL Metadata Injection to pass metadata to your transformation at runtime.