Changing data using INSERT

You can use the ON EXISTING clause of the INSERT statement to update existing rows in a table (based on primary key lookup) with new values. This clause can only be used on tables that have a primary key. Attempting to use this clause on tables without primary keys or on proxy tables generates a syntax error.

Specifying the ON EXISTING clause causes the server to do a primary key lookup for each input row. If the corresponding row does not exist, it inserts the new row. For rows already existing in the table, you can choose to:

  • generate an error for duplicate key values. This is the default behavior if the ON EXISTING clause is not specified.

  • silently ignore the input row, without generating any errors.

  • update the existing row with the values in the input row

For more information, see INSERT statement.