DB2 10.5 for Linux, UNIX, and Windows

BUSINESS_TIME period

The BUSINESS_TIME period columns for an application-period temporal table record when the version of a row is valid from a user or business application perspective.

The BUSINESS_TIME period contains a pair of DATE or TIMESTAMP(p) columns where p can be from 0 to 12. These columns are populated by you or a business application. The two columns in a BUSINESS_TIME period denote the start and end of the validity period. These columns differs from SYSTEM_TIME period columns where the time period values are generated by the database manager. The BUSINESS_TIME period columns must be defined as NOT NULL and must not be generated columns.

A BUSINESS_TIME period is inclusive-exclusive. The start of the validity period is included in the BUSINESS_TIME, while the end is excluded.

Whenever a BUSINESS_TIME period is defined on a table, an implicit check constraint named DB2_GENERATED_CHECK_CONSTRAINT_FOR_BUSINESS_TIME is generated to ensure that the value for the end of the validity period is greater than the value for the start of the validity period. If a constraint with the same name exists, then an error is returned. This constraint is useful when supporting operations that explicitly input data into these columns, such as an insert or load operation.

An application-period temporal table can be defined so that rows with the same key do not have any overlapping periods of BUSINESS_TIME. For example, this restriction would prevent two versions of an insurance policy from being in effect at any point in time. These controls can be achieved by adding a BUSINESS_TIME WITHOUT OVERLAPS clause to a primary key, unique constraint specification, or create unique index statement. The enforcement is handled by the database manager. This control is optional.