Upsert Records
Description
The Upsert Records activity inserts new records or updates existing records in a specified database table based on matching key columns. This allows workflows to maintain data consistency by handling both create and update operations in a single step.
Design-Time Configuration
The following properties define how the activity connects to the database and performs upsert operations.
Connection Type
Specifies the database engine (for example, SQL Server, Oracle, MySQL, PostgreSQL). Selecting the correct type ensures compatibility with the target database.
Connection Name
Select a preconfigured database connection that defines the server, credentials, and security settings.
Schema
Specifies the database schema that contains the target table.
Table Name
Specifies the name of the database table where records will be inserted or updated.
Key Columns
Specifies one or more columns that uniquely identify a record in the target table. These columns are used to determine whether a record already exists and should be updated, or whether a new record should be inserted.
Column Mapping
Defines how workflow values are mapped to database columns using the Schema Mapper.
All mapped columns are applied during both insert and update operations.
Timeout
Specifies the maximum time (in seconds) that the activity will wait for the upsert operation to complete. The default value is 600 seconds.
Wait All Incoming
The Wait All Incoming property controls how the activity behaves when it has multiple incoming execution paths.
| Option | Description |
|---|---|
| False | The activity executes whenever any incoming path completes. Each incoming completion can trigger a separate execution. |
| All Configured Incoming | The activity executes only after all design-time (configured) incoming paths have completed. If a path is skipped at runtime due to conditional logic, the activity may wait indefinitely. |
| All Active Incoming | The activity executes only after all runtime-active incoming paths have completed. Incoming paths that are not taken due to conditions are ignored, ensuring predictable execution. |
Outputs
Updated Records Count
Returns the number of existing records that were successfully updated.
Inserted Records Count
Returns the number of new records that were successfully inserted.
These outputs can be used for validation, reporting, or driving conditional workflow logic.
Error Handling
This activity supports the standard On Error handler, including Fault, Continue, Suspend, and Retry.
For details, see On Error Handler.