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

Câu hỏi về khóa chính / khóa ngoại hỗn hợp Oracle

Lỗi là do NGOẠI KHÓA là một cột, nhưng bạn đang cố gắng cung cấp hai cột làm cột chính. Không cần phải liên kết với khóa tổng hợp, vì restrictedgroups không có personid cột ...

Bạn cũng có mối quan hệ ngược - sử dụng:

CREATE TABLE restrictedgroups ( 
  groupid number, 
  name varchar2(50), 
  dateadded date, 
  since date, 
  notes varchar2(1024), 
  CONSTRAINT pk_groupid PRIMARY KEY(groupid)
);

CREATE TABLE groupspersonx ( 
  personid number, 
  groupid number, 
  CONSTRAINT pk_persongroupid PRIMARY KEY(personid, groupid),
  CONSTRAINT fk_persongroup FOREIGN KEY(groupid) REFERENCES restrictedgroups(groupid) 
); 

Tôi sẽ thêm một ràng buộc khóa ngoại cho bất kỳ bảng nào personid sẽ đến từ.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tìm hiểu ký hiệu tiền tệ mà phiên của bạn sử dụng trong Oracle

  2. thay đổi cột thả bảng trong cơ sở dữ liệu oracle

  3. Trả về câu lệnh SQL của con trỏ rõ ràng

  4. thiết kế cơ sở dữ liệu một-nhiều-nhiều

  5. ORA-01427:truy vấn con một hàng trả về nhiều hơn một hàng