Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como adiciono um cluster em uma chave composta?


A coluna da tabela precisa ser do mesmo tipo de dados que a coluna do cluster. No seu exemplo, isso funciona bem:
create table test1 (
  id int
) cluster abc_clus(id);
Table TEST1 created.

Até mesmo uma chave composta funciona, se o tipo de dados corresponder:
create table test2 (
  a int,
  b int,
  primary key(a, b)
) cluster abc_clus(a);
Table TEST2 created.

No entanto, se o tipo de dados for diferente, você receberá sua mensagem de erro:
create table test3 (
  vc varchar2(7)
) cluster abc_clus(vc);
ORA-01753: column definition incompatible with clustered column definition

E o tipo de dados tem que ser exatamente o mesmo, mesmo int e number não são compatíveis:
create table test4 (
  n NUMBER
) cluster abc_clus(n);
ORA-01753: column definition incompatible with clustered column definition

EDITAR:

Você pode até ter clusters compostos:

criar cluster idc_clus (i int,d data);

crie o índice idc_clus_idx no cluster idc_clus;

criar tabela test5 (i int,d data,chave primária (i,d)) cluster idc_clus(i,d);