Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Wie füge ich einen Cluster zu einem zusammengesetzten Schlüssel hinzu?

Die Tabellenspalte muss denselben Datentyp wie die Clusterspalte haben. In Ihrem Beispiel funktioniert dies gut:

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

Auch ein zusammengesetzter Schlüssel funktioniert, wenn der Datentyp übereinstimmt:

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

Wenn der Datentyp jedoch unterschiedlich ist, erhalten Sie Ihre Fehlermeldung:

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

Und der Datentyp muss genau gleich sein, sogar int und number sind nicht kompatibel:

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

BEARBEITEN:

Sie können sogar zusammengesetzte Cluster haben:

Cluster idc_clus erstellen (i int,d date);

Index idc_clus_idx auf Cluster idc_clus erstellen;

Tabelle test5 erstellen (i int,d Datum,Primärschlüssel (i,d)) Cluster idc_clus(i, d);