Restrictions apply to the columns you choose to be the primary index for a table. For partitioned primary indexes, further restrictions apply to the columns you choose to be partitioning columns. Here are some of the restrictions:
- A primary index column or partitioning column cannot be a column that has a CLOB, BLOB, ST_Geometry, MBR, or Period data type.
- Partitioning expressions for single-level PPIs may only use the following general forms:
- Column (must be INTEGER or a data type that casts to INTEGER)
- Expressions based on one or more columns, where the expression evaluates to INTEGER or data type that casts to INTEGER
- The CASE_N and RANGE_N functions
- Partitioning expressions of a multilevel PPI may only specify CASE_N and RANGE_N functions.
- You cannot compress columns that are members of the primary index column set or are partitioning columns.
Other restrictions apply to the partitioning expression for PPIs. For example:
- Comparison of character data where the server character set is KANJI1 or KANJISJIS is not allowed.
- The expression for the RANGE_N test value must evaluate to BYTEINT, SMALLINT, INTEGER, DATE, CHAR, VARCHAR, GRAPHIC or VARGRAPHIC.
- Nondeterministic partitioning expressions are not allowed, including cases that might not report errors, such as casting TIMESTAMP to DATE, because of the potential for wrong results.