Tabellkolumnen måste vara av samma datatyp som klusterkolumnen. I ditt exempel fungerar detta bra:
create table test1 (
id int
) cluster abc_clus(id);
Table TEST1 created.
Även en sammansatt nyckel fungerar, om datatypen matchar:
create table test2 (
a int,
b int,
primary key(a, b)
) cluster abc_clus(a);
Table TEST2 created.
Men om datatypen är annorlunda får du ditt felmeddelande:
create table test3 (
vc varchar2(7)
) cluster abc_clus(vc);
ORA-01753: column definition incompatible with clustered column definition
Och datatypen måste vara exakt densamma, även int
och number
är inte kompatibla:
create table test4 (
n NUMBER
) cluster abc_clus(n);
ORA-01753: column definition incompatible with clustered column definition
EDIT:
Du kan till och med ha sammansatta kluster:
skapa kluster idc_clus (i int,d date);
skapa index idc_clus_idx på kluster idc_clus;
skapa tabell test5 (i int,d datum,primärnyckel (i,d)) kluster idc_clus(i,d);