Synchronize after merge

Description

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. 

Options

General Tab

Option

Description

Step name

Name of the step; this name has to be unique in a single transformation.

Connection

The database connection to which data is written

Target schema

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.

Target table

Name of the table in which you want to do the insert/update/delete.

Commit size

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

Note: Click Get fields to retrieve a list of fields from the input stream(s).

Update Fields

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).

|

SQL button

Click SQL to generate the SQL to create the table and indexes for correct operation.

Advanced Tab

Option

Description

Default value from the Merge Rows (diff) transformation step

Operation fieldname

This is a required field. This field is used by the step to obtain an operation flag for the current row.

"flagfield"

Insert when value equal

Specify the value of the Operation fieldname which signifies that an Insert should be carried out.

"new"

Update when value equal

Specify the value of the Operation fieldname which signifies that an Update should be carried out.

"changed"

Delete when value equal

Specify the value of the Operation fieldname which signifies that a Delete should be carried out.

"deleted"

Perform lookup

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.

Not applicable

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.