以下が欲しいと思います。おそらく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
を作成する必要があります 主キー、または少なくとも一意。