sql >> Databáze >  >> RDS >> Oracle

Jak přidám cluster na složený klíč?

Sloupec tabulky musí mít stejný datový typ jako sloupec clusteru. Ve vašem příkladu to funguje dobře:

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

I složený klíč funguje, pokud datový typ odpovídá:

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

Pokud se však datový typ liší, zobrazí se chybová zpráva:

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

A datový typ musí být naprosto stejný, dokonce i int a number nejsou kompatibilní:

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

EDIT:

Můžete dokonce mít složené clustery:

vytvořit cluster idc_clus (i int,d datum);

vytvořit index idc_clus_idx na clusteru idc_clus;

vytvořit tabulku test5 (i int,d datum,primární klíč (i,d)) cluster idc_clus(i, d);




  1. Funkce REGEXP_SUBSTR() v Oracle

  2. Pochopení normalizace a duplikátů – Myslím, že ne – Přidání ID interpretů a titulů

  3. fe_sendauth:po nastavení databáze PostgreSQL na Cloud9 IDE nedošlo k chybě zadaného hesla

  4. Proč dostanu výjimku OutOfRange ve funkci GetOrdinal tohoto pole CLOB?