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

Hvordan tilføjer jeg en klynge på en sammensat nøgle?

Tabelkolonnen skal være den samme datatype som klyngekolonnen. I dit eksempel fungerer dette fint:

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

Selv en sammensat nøgle virker, hvis datatypen matcher:

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

Men hvis datatypen er anderledes, får du din fejlmeddelelse:

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

Og datatypen skal være nøjagtig den samme, endda int og number er ikke kompatible:

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

EDIT:

Du kan endda have sammensatte klynger:

opret klynge idc_clus (i int,d dato);

opret indeks idc_clus_idx på cluster idc_clus;

opret tabel test5 (i int,d dato,primær nøgle (i,d)) cluster idc_clus(i,d);




  1. Brug af row_to_json() med indlejrede joinforbindelser

  2. Docker - Postgres og pgAdmin 4 :Forbindelse nægtet

  3. Vi undskylder, men noget gik galt. efter udsendelse til Heroku

  4. Søgning i Microsoft Access-data med Elasticsearch