Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Làm cách nào để thêm một cụm trên khóa tổng hợp?

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ả intnumber 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);




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chèn và cập nhật dựa trên bản ghi trong Oracle

  2. Nhiều ràng buộc trong bảng:Làm thế nào để nhận được tất cả các vi phạm?

  3. PLS-00428:mệnh đề INTO được mong đợi trong câu lệnh SELECT này

  4. Cách tốt nhất để tìm kiếm kiểu dữ liệu Dài trong cơ sở dữ liệu Oracle là gì?

  5. Liệt kê tất cả các trình kích hoạt trong Cơ sở dữ liệu Oracle