Cột bảng cần có cùng kiểu dữ liệu với cột cụm. Trong ví dụ của bạn, điều này hoạt động tốt:
create table test1 (
id int
) cluster abc_clus(id);
Table TEST1 created.
Ngay cả một khóa tổng hợp cũng hoạt động, nếu kiểu dữ liệu khớp với:
create table test2 (
a int,
b int,
primary key(a, b)
) cluster abc_clus(a);
Table TEST2 created.
Tuy nhiên, nếu kiểu dữ liệu khác, bạn sẽ nhận được thông báo lỗi:
create table test3 (
vc varchar2(7)
) cluster abc_clus(vc);
ORA-01753: column definition incompatible with clustered column definition
Và kiểu dữ liệu phải giống hệt nhau, ngay cả int
và number
không tương thích:
create table test4 (
n NUMBER
) cluster abc_clus(n);
ORA-01753: column definition incompatible with clustered column definition
CHỈNH SỬA:
Bạn thậm chí có thể có các cụm tổng hợp:
tạo cụm idc_clus (i int, d date);
tạo chỉ mục idc_clus_idx trên cụm idc_clus;
tạo bảng test5 (i int, d date, primary key (i, d)) cluster idc_clus (i, d);