System-period temporal tables are subject to a number of
restrictions. These restrictions can impact your implementation of
system-period temporal tables.
Following are the restrictions for system-period temporal tables:
- Label-based access control (LBAC) is not supported on system-period
temporal tables. While system-period data versioning is enabled, adding
row and column labels to either a system-period temporal table or
a history table is blocked. When versioning is enabled with an ALTER
TABLE statement, the database manager ensures that both the system-period
temporal table and the history table do not have rows or columns secured
with labels.
- ALTER operations that cause a potential loss of data are not supported
on system-period temporal tables.
- ALTER TABLE ACTIVATE NOT LOGGED INITIALLY statements are blocked
for both the system-period temporal table and the history table.
- A system-period temporal table cannot be altered to become a materialized
query table (MQT).
- Utilities that delete data from system-period temporal tables
are blocked, including LOAD REPLACE and IMPORT REPLACE.
- The TRUNCATE statement is not supported against a system-period
temporal table.
- The following schema-changing operations are not supported against
system-period temporal tables:
- ALTER TABLE DROP COLUMN
- ALTER TABLE ALTER COL (Altering string data types to a type that
requires data truncation is not supported. Altering numeric data
types to a lower precision type is also not supported).
- ALTER TABLE ADD GENERATED COLUMN
- For point-in-time recovery, if a table space that contains the
system-period temporal table is being rolled forward to a point in
time, the table space that contains the associated history table must
also be rolled forward to the same point in time as a set. Similarly
when the table space for a history table is rolled-forward to a point
in time, the table space for the system-period temporal table or a
bitemporal table also must be rolled-forward to the same point in
time. However, rolling only the system-period temporal tables table
space (or the history tables table space) to the end of logs is allowed.
- A nickname can be created over a remote system-period temporal
table, but the temporal information is not exposed and temporal operations
over nicknames are not supported. For instance, temporal data definition
operations and temporal queries against federated nicknames are blocked.
- IMPORT and LOAD operations into system-period temporal tables
are blocked if the CURRENT TEMPORAL SYSTEM_TIME special register is
set to a non-null value.