У меня есть база данных Db2 с двумя таблицами, TABLE_A и TABLE_B.
Вот как я создаю TABLE_A (ОРГАНИЗОВАННЫЙ ПО РАЗМЕРАМ):
CREATE TABLE SCHEMA_NAME.TABLE_A (
COL1 CHAR(10) NOT NULL,
COL2 INT NOT NULL,
COL3 INT NOT NULL)
ORGANIZE BY DIMENSIONS (COL1, COL2);
Вот как я создаю TABLE_B (ORGANIZED BY ROW):
CREATE TABLE SCHEMA_NAME.TABLE_B (
COL1 CHAR(10) NOT NULL,
COL2 INT NOT NULL,
COL3 INT NOT NULL)
ORGANIZE BY ROW;
Я хочу создать родительско-дочернее отношение между таблицами с COL1 в качестве первичного ключа в TABLE_A и в качестве внешнего ключа в TABLE_B.
Проблемаявляется то, что я не могу сделать COL1 в таблице MDC (многомерной кластеризации), TABLE_A, первичный ключ.
С оператором:
ALTER TABLE "PARTITIONING_TEST"."TABLE_A" ADD CONSTRAINT "TABLE_A_PK" PRIMARY KEY
("COL1") ENFORCED;
Я получаю ошибку:
The primary key or a unique key identified by "TABLE_A_PK" is a subset of the columns in the ORGANIZE BY clause.. SQLCODE=-20188, SQLSTATE=429BE, DRIVER=4.22.36
И так как я не могу сделать COL1 первичным ключом в TABLE_A, я не могу сделать его внешним ключом в TABLE_B.
Как я могу создать это отношение?