La columna de la tabla debe tener el mismo tipo de datos que la columna del clúster. En tu ejemplo, esto funciona bien:
create table test1 (
id int
) cluster abc_clus(id);
Table TEST1 created.
Incluso una clave compuesta funciona, si el tipo de datos coincide con:
create table test2 (
a int,
b int,
primary key(a, b)
) cluster abc_clus(a);
Table TEST2 created.
Sin embargo, si el tipo de datos es diferente, recibe su mensaje de error:
create table test3 (
vc varchar2(7)
) cluster abc_clus(vc);
ORA-01753: column definition incompatible with clustered column definition
Y el tipo de datos tiene que ser exactamente el mismo, incluso int
y number
no son compatibles:
create table test4 (
n NUMBER
) cluster abc_clus(n);
ORA-01753: column definition incompatible with clustered column definition
EDITAR:
Incluso puede tener clústeres compuestos:
crear clúster idc_clus (i int, d date);
crear el índice idc_clus_idx en el clúster idc_clus;
crear tabla test5 (i int,d date,primary key (i,d)) cluster idc_clus(i,d);