Мисля, че искате следното. Моля, обърнете внимание, че вероятно трябва да използвате 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
първичен ключ или поне уникален.