MERGE Statements
For certain mappings, MapForce generates MERGE statements (screenshot below) that will be executed against the database at mapping runtime. The advantage of MERGE statements is that they reduce the number of database server calls, since these statements combine the INSERT and UPDATE statements into one. For MERGE statements, the consistency check is done by the database. MERGE statements are supported if:
•the database is one the following: SQL Server 2008 and later, Oracle, DB2, Firebird;
•the target database has the combination of the Insert If and Insert Rest table actions.
If MERGE statements are not supported by your database type, the generated SQL script includes UPDATE statements only. No INSERT statements are visible for preview, since these are executed only if the Update If condition is not satisfied.
If you are updating multiple tables that have parent-child relationships, merges are created only for the deepest child table to which data is mapped. For example, if a database has a parent table called Authors and a child table called Books, the MERGE statement will be generated only for the Books table. For the Authors table, UPDATE statements will be generated instead.
With MERGE statements, the Bulk Transfer option is supported only for ODBC and JDBC database connections.