Oracle
 sql >> Database >  >> RDS >> Oracle

Come si aggiunge un cluster su una chiave composita?

La colonna della tabella deve essere dello stesso tipo di dati della colonna del cluster. Nel tuo esempio, funziona bene:

create table test1 (
  id int
) cluster abc_clus(id);
Table TEST1 created.

Anche una chiave composta funziona, se il tipo di dati corrisponde a:

create table test2 (
  a int,
  b int,
  primary key(a, b)
) cluster abc_clus(a);
Table TEST2 created.

Tuttavia, se il tipo di dati è diverso, viene visualizzato il messaggio di errore:

create table test3 (
  vc varchar2(7)
) cluster abc_clus(vc);
ORA-01753: column definition incompatible with clustered column definition

E il tipo di dati deve essere esattamente lo stesso, anche int e number non sono compatibili:

create table test4 (
  n NUMBER
) cluster abc_clus(n);
ORA-01753: column definition incompatible with clustered column definition

MODIFICA:

Puoi anche avere cluster compositi:

crea il cluster idc_clus (i int,d date);

crea l'indice idc_clus_idx sul cluster idc_clus;

create table test5 (i int,d date, primary key (i,d)) cluster idc_clus(i, d);