Колоната на таблицата трябва да бъде от същия тип данни като колоната на клъстера. Във вашия пример това работи добре:
create table test1 (
id int
) cluster abc_clus(id);
Table TEST1 created.
Дори съставният ключ работи, ако типът данни съвпада:
create table test2 (
a int,
b int,
primary key(a, b)
) cluster abc_clus(a);
Table TEST2 created.
Ако обаче типът данни е различен, получавате вашето съобщение за грешка:
create table test3 (
vc varchar2(7)
) cluster abc_clus(vc);
ORA-01753: column definition incompatible with clustered column definition
И типът данни трябва да е абсолютно същият, дори int
и number
не са съвместими:
create table test4 (
n NUMBER
) cluster abc_clus(n);
ORA-01753: column definition incompatible with clustered column definition
РЕДАКТИРАНЕ:
Можете дори да имате съставни клъстери:
създаване на клъстер idc_clus (i int,d дата);
създайте индекс idc_clus_idx на клъстер idc_clus;
създаване на таблица test5 (i int,d дата,първичен ключ (i,d)) cluster idc_clus(i, d);