DB Merger

Merges (insert/updates) all data rows from the selected database table that match the values of a row from the selected KNIME input table columns. All selected column names of the KNIME table need to exactly match the column names from the database. The WHERE column values of the input KNIME data row need to match the values of the database row to update; whereas the SET database column values are replaced by the input KNIME column values. Only the rows matching all values of the selected column of any given input row will be updated. If no matching rows are found, the node inserts new row into the selected database table. The column order of the KNIME table and the database table do not need to match.

Options

Database name
The name of the database (or catalogue) to use.
Schema name
The optional database schema name.
Table name
Name of the database table to merge into.
If a database error occurs
The option allows you to change the behavior if a database error occurs.
  • Fail: The node will abort the execution and fail on errors.
  • Ignore: The node will ignore errors.
Batch size
Enter a number greater than 0 for the number of rows updated in one batch job. Entering 1 disables batch processing. This way only one row is processed at a time.
Columns for row identification (WHERE in SQL)
Select all columns used to identify the records in the database that should be updated. Only records in the database that match the values from the input table are updated. The column names in the KNIME input table need to match the column names in corresponding database table. In SQL this is equivalent to the WHERE columns.
Columns to write (SET in SQL)
Select the columns which should be merged in the database e.g. if a matching row exists the values of the selected columns are updated otherwise a new row is created and the values of the selected columns are inserted in to the corresponding database columns. The column names in the KNIME input table need to match the column names in corresponding database table. In SQL this is equivalent to the SET columns.
Append status column (to KNIME table)
If selected, it adds an extra column to the output table. The status column is the number of rows affected by the SQL statement. A number greater than or equal to zero indicates that the command was processed successfully and is an update count giving the number of rows in the database that were affected by the command's execution. A value of 2 indicates that the command was processed successfully but that the number of rows affected is unknown.
Status column name
Name of the new status column.
Append error column (to KNIME table)
If selected, it adds an extra column to the output table. The error column shows a warning message, if any.
Error column name
The name of the error column.
Disable DB Data output port
Select this option to disable the DB Data output port and the execution of the metadata query at the end of the node execution which might cause problems with databases that do not support subqueries.
Name
Columns that match the given name (or regular expression) and KNIME type will be mapped to the specified database type.
  • Column selection type: The option allows you to select how the column is matched.
    • Manual: Use the exact name of the column
    • Regex: Allow regex expressions to select multiple columns
  • Column name: The name or regex expression.
  • Source type: Datatype to map from.
  • Mapping to: SQL type to map to.
Type
Columns that match the given KNIME type will be mapped to the specified database type.
  • From type: Datatype to map from.
  • To type: SQL type to map to.

Input Ports

Icon
KNIME data Table with the data rows to be merged into the database.
Icon
DB Connection to the database.

Output Ports

Icon
Input KNIME data table with additional columns providing the number of affected rows in the database and warnings, if checked in the dialog.
Icon
DB Data referencing the selected database table.

Popular Predecessors

  • No recommendations found

Popular Successors

  • No recommendations found

Views

This node has no views

Workflows

  • No workflows found

Links

Developers

You want to see the source code for this node? Click the following button and we’ll use our super-powers to find it for you.