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

Външен ключ на Oracle

Мисля, че искате следното. Моля, обърнете внимание, че вероятно трябва да използвате VARCHAR2 вместо VARCHAR в Oracle. Те работят по същия начин в момента, но има възможност Oracle да промени функционалността за VARCHAR за да го приведе в съответствие със стандарта ANSI (в който празни низове '' се различават от NULL s ... но се отклоних):

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

И след това:

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

Малко е странно, че колоната се казва surname в CLIENT и b_surname в BOSS .

Ако искате b_surname в BOSS за препратка към surname в CLIENT -- тогава трябва да направите CLIENT.surname първичен ключ или поне уникален.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Вземете BLOB от база данни, как да ги върнете обратно

  2. Сертификати на Oracle

  3. Трябва да изпълни една sql заявка срещу две Oracle DB в shell скрипт наведнъж и да експортира данните в отделни csv файлове

  4. Пространството от имена на System.Data.OracleClient е прекратено?

  5. Свържете се с база данни на Oracle във VB