Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

मौजूदा तालिका में एक विदेशी कुंजी जोड़ना

ALTER एक से अधिक FOREIGN KEYS के लिए विवरण काम नहीं करता है।

प्रत्येक CONSTRAINT व्यक्तिगत रूप से जोड़ा जाना चाहिए:

CREATE TABLE Gust ( Gust_ID INT PRIMARY KEY, First_Name VARCHAR(50), Last_Name VARCHAR(50), Email VARCHAR(20), phone_number INT, Address VARCHAR(30) );
CREATE TABLE Reservation ( Reservation_ID INT PRIMARY KEY, Start_Date Date, End_Date Date );
CREATE TABLE RoomType ( RoomType_ID INT NOT NULL PRIMARY KEY, Class VARCHAR(10), ExtraPrice INT );

CREATE TABLE Room(Room_ID int PRIMARY KEY, Price INT, Reservation_ID int,Gust_ID int );

ALTER TABLE Room ADD FOREIGN KEY (Room_ID) REFERENCES RoomType(RoomType_ID);

ALTER TABLE Room ADD FOREIGN KEY (Reservation_ID) REFERENCES Reservation(Reservation_ID); 
-- the table Room is assumed to have a column Reservation_ID 

ALTER TABLE Room ADD FOREIGN KEY (Gust_ID) REFERENCES Gust(Gust_ID);
    -- the table Room is assumed to have a column Gust_ID

यदि सिस्टम-जनरेटेड बाधा नाम नहीं चाहिए, तो इनका उपयोग करना;

ALTER TABLE Room ADD CONSTRAINT fk_RoomType_ID FOREIGN KEY (Room_ID) 
                                               REFERENCES RoomType(RoomType_ID);

ALTER TABLE Room ADD CONSTRAINT fk_Reservation_ID FOREIGN KEY (Reservation_ID) 
                                                REFERENCES Reservation(Reservation_ID); 

ALTER TABLE Room ADD CONSTRAINT fk_Gust_ID FOREIGN KEY (Gust_ID) 
                                           REFERENCES Gust(Gust_ID);

पसंद किया जा सकता है।

पी.एस. :

  • उपयोग न करें NOT NULL PRIMARY KEY के साथ , PRIMARY KEY पहले से ही शामिल है NOT NULL
  • लंबाई को INT के लिए परिभाषित नहीं किया जा सकता है कॉलम।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पैकेज घोषणा की सामग्री

  2. अनुवाद () Oracle में समारोह

  3. Oracle डेटाबेस में, ROWNUM और ROW_NUMBER में क्या अंतर है?

  4. श्रोता के साथ गतिशील रूप से पंजीकृत होने वाले सभी उदाहरण दिखाएं

  5. क्या वर्तमान सत्र के लिए Oracle ट्रिगर अक्षम किया जा सकता है?