The following general rules apply to any variant of INSERT into a temporal table. Rules for specific types of inserts appear in succeeding sections.
- If a valid-time qualifier is neither specified for the session nor specified in the INSERT statement, the statement is a current INSERT statement.
- The value assigned to validtime-column cannot use CURRENT_DATE or CURRENT_TIMESTAMP.
- If the AS OF temporal qualifier is set as the session temporal qualifier, and an INSERT with no temporal qualifier is issued on a temporal table, the session temporal attribute is ignored and the INSERT defaults to current.
- If the target table is a table without a valid-time column, and multiple other tables that support valid time are specified in the INSERT … SELECT statement, the qualifier for the valid-time dimension defaults to current (unless the NONTEMPORAL qualifier was specified). In the transaction-time dimension, only open rows qualify.
- No qualifier can be specified for the transaction-time dimension. The session attribute is not applied to the transaction-time dimension. (The NONTEMPORAL qualifier can be used to specify a transaction time if the user has the NONTEMPORAL privilege. For more information see NONTEMPORAL Privilege.)