De tabelkolom moet hetzelfde gegevenstype hebben als de clusterkolom. In jouw voorbeeld werkt dit prima:
create table test1 (
id int
) cluster abc_clus(id);
Table TEST1 created.
Zelfs een samengestelde sleutel werkt, als het datatype overeenkomt:
create table test2 (
a int,
b int,
primary key(a, b)
) cluster abc_clus(a);
Table TEST2 created.
Als het datatype echter anders is, krijgt u uw foutmelding:
create table test3 (
vc varchar2(7)
) cluster abc_clus(vc);
ORA-01753: column definition incompatible with clustered column definition
En het datatype moet exact hetzelfde zijn, zelfs int
en number
zijn niet compatibel:
create table test4 (
n NUMBER
) cluster abc_clus(n);
ORA-01753: column definition incompatible with clustered column definition
BEWERKEN:
U kunt zelfs samengestelde clusters hebben:
maak cluster idc_clus (i int,d datum);
maak index idc_clus_idx op cluster idc_clus;
maak tabel test5 (i int,d datum,primaire sleutel (i,d)) cluster idc_clus(i,d);