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