Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да добавя клъстер към съставен ключ?

Колоната на таблицата трябва да бъде от същия тип данни като колоната на клъстера. Във вашия пример това работи добре:

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

Дори съставният ключ работи, ако типът данни съвпада:

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

Ако обаче типът данни е различен, получавате вашето съобщение за грешка:

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

И типът данни трябва да е абсолютно същият, дори int и number не са съвместими:

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

РЕДАКТИРАНЕ:

Можете дори да имате съставни клъстери:

създаване на клъстер idc_clus (i int,d дата);

създайте индекс idc_clus_idx на клъстер idc_clus;

създаване на таблица test5 (i int,d дата,първичен ключ (i,d)) cluster idc_clus(i, d);




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. как да направя функция за връщане на тип ред от таблица в pl/sql?

  2. Кой OJDBC драйвер за Java 6?

  3. Има ли проблем със свойствата JPA Entities, Oracle 10g и Calendar Type?

  4. Итериране на колона в PL/SQL

  5. Oracle Natural Joins и Count (1)