Saya pikir Anda menginginkan yang berikut ini. Harap dicatat bahwa Anda mungkin harus menggunakan VARCHAR2
daripada VARCHAR
di Oracle. Mereka bekerja sama saat ini tetapi ada kemungkinan Oracle akan mengubah fungsionalitas untuk VARCHAR
untuk membawanya sejalan dengan standar ANSI (di mana string kosong ''
dibedakan dari NULL
s ... tapi saya ngelantur):
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 );
Dan kemudian:
ALTER TABLE client ADD CONSTRAINT boss_client_fk FOREIGN KEY (surname) REFERENCES boss (b_surname);
Agak aneh kolomnya diberi nama surname
di CLIENT
dan b_surname
di BOSS
.
Jika Anda ingin b_surname
di BOSS
untuk merujuk ke surname
di CLIENT
-- maka Anda perlu membuat CLIENT.surname
kunci utama, atau setidaknya unik.