मुझे लगता है कि आप निम्नलिखित चाहते हैं। कृपया ध्यान दें कि आपको शायद VARCHAR2
. का उपयोग करना चाहिए इसके बजाय VARCHAR
ओरेकल में। वे इस समय वही काम करते हैं लेकिन एक संभावना है कि Oracle VARCHAR
के लिए कार्यक्षमता को बदल देगा इसे एएनएसआई मानक के अनुरूप लाने के लिए (जिसमें खाली तार ''
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
. बनाना होगा एक प्राथमिक कुंजी, या कम से कम अद्वितीय।