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

Khóa ngoại Oracle

Tôi nghĩ rằng bạn muốn những điều sau đây. Xin lưu ý rằng bạn có thể nên sử dụng VARCHAR2 thay vì VARCHAR trong Oracle. Hiện tại chúng hoạt động giống nhau nhưng có khả năng Oracle sẽ thay đổi chức năng cho VARCHAR để phù hợp với tiêu chuẩn ANSI (trong đó các chuỗi trống '' được phân biệt với NULL s ... nhưng tôi lạc đề):

CREATE TABLE client
( id NUMBER(10) NOT NULL PRIMARY KEY
, name VARCHAR2(30) NOT NULL
, surname VARCHAR2(30) NOT NULL
, phone NUMBER(11) NOT NULL
, email VARCHAR2(70) );

CREATE TABLE boss
( b_surname VARCHAR2(30) NOT NULL PRIMARY KEY
, b_Name VARCHAR2(30) NOT NULL );

Và sau đó:

ALTER TABLE client ADD CONSTRAINT boss_client_fk FOREIGN KEY (surname) REFERENCES boss (b_surname);

Hơi kỳ lạ khi cột được đặt tên là surname trong CLIENTb_surname trong BOSS .

Nếu bạn muốn b_surname trong BOSS để tham khảo surname trong CLIENT - sau đó bạn cần đặt CLIENT.surname khóa chính hoặc ít nhất là duy nhấ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. Mã định danh 'APEX_JSON.PARSE' phải được khai báo trong oracle 11.2.0

  2. Trong SQL, Làm cách nào để tạo mọi kết hợp duy nhất có thể có của 5! 56?

  3. Có cách nào để tạo Khóa chính hướng dẫn tự động tăng dần trong cơ sở dữ liệu Oracle không?

  4. Hibernate không tạo mã định danh khi sử dụng chuỗi Oracle

  5. Cài đặt phần mở rộng oci8 trong Linux cho php?