You can create an error logging table that you associate with a temporal table when you want Teradata Database to log information about update and insert errors that occur during a MERGE operation on the temporal table.
To create an error logging table, use the CREATE ERROR TABLE statement. Error logging tables are nontemporal tables. When you create an error logging table that you associate with a temporal table, the temporal columns in the temporal table are included in the error logging table as regular period data type columns.
If a valid-time column in the target table is a derived period column, the beginning and end bounds of the inserted rows are assigned to the component columns of the derived period valid-time column in the target table.
To enable error logging for a MERGE statement, specify the LOGGING ERRORS option.
For the temporal form of MERGE, the Teradata Database error logging facilities consider the following errors as local errors:
- Sequenced duplicate rows
- Check constraint violations
- Errors during row build such as division by zero
Nonlocal errors are complex updates and nonsequenced USI updates. Unique constraint violations on a temporal table are join index errors instead of nonlocal errors as on a nontemporal table.
For details on how to create an error logging table, see “CREATE ERROR TABLE” in SQL Data Definition Language. For details on how to specify error handling for the INSERT … SELECT statement, see SQL Data Manipulation Language.