2013-05-05 2 views
3

J'ai une question concernant une création de table. Je veux combiner les attributs de "Ono" et "Pno" dans une clé primaire pour une nouvelle table. Ce sont deux clés étrangères, chacune provenant de tables différentes. Est-ce que j'utilise simplement une CONTRAINTES Ono_Pno_PK PRIMARY KEY (Ono, Pno)?Clé primaire composée de deux clés étrangères? Oracle

ce que je l'ai utilisé jusqu'à présent:

CREATE TABLE ODetails 
(
    Ono Number Not Null, 
    Pno Number Not Null, 
    Qty Number(3) Not Null, 
    Creation_Date Date Not Null, 
    Created_By VARCHAR(10) Not Null, 
    Last_Update_Date Date Not Null, 
    Last_Updated_By VARCHAR2(10) Not Null, 
    CONSTRAINT Ono_FK FOREIGN KEY (Ono) REFERENCES Orders (Ono), 
    CONSTRAINT Pno_FK FOREIGN KEY (Pno) REFERENCES Parts (Pno) 
); 

Répondre

5

juste ajouter cette ligne après les contraintes,

CONSTRAINT tb_PK PRIMARY KEY (Ono, Pno) 
+0

Merci @JW cela a fonctionné. –

+2

Bonne réponse. Il est susceptible d'aider toute personne qui veut utiliser des clés primaires composées. Les visiteurs devraient voir ce qui suit: http://en.wikipedia.org/wiki/Compound_key –

Questions connexes