2014-06-05 11 views
6

Posso creare correttamente la chiave primaria composita in sql server management studio 2012 selezionando due colonne (OrderId, CompanyId) e fare clic con il pulsante destro del mouse e impostare come chiave primaria. Ma non so come creare una chiave esterna su due colonne (OrderId, CompanyId) in un'altra tabella utilizzando SQL Server Management Studio 2012.Come creare una chiave esterna composita in sql server management studio 2012

risposta

12

In Esplora oggetti, andare al vostro tavolo e selezionare Keys > New Foreign Key dal menu contestuale:

enter image description here

Nella finestra di dialogo che si apre, fare clic sul Aggiungi pulsante per creare una nuova chiave esterna :

enter image description here

Dategli un nome significativo e quindi fare clic sul ... pulsante per aprire la finestra di dialogo Tables and Columns specification:

enter image description here

compilare le colonne necessarie per la Capogruppo e le tabelle figlio, fare clic su OK e il gioco è fatto!

Oppure molto più semplice ed efficiente - utilizzare uno script T-SQL!

ALTER TABLE dbo.OtherTable 
ADD CONSTRAINT FK_OtherTable_ParentTable 
FOREIGN KEY(OrderId, CompanyId) REFERENCES dbo.ParentTable(OrderId, CompanyId) 
+0

Conosco la query precedente, ma il problema è che voglio farlo visivamente. Hai menzionato la chiave straniera nello screenshot. la sua multa, ma in caso di relazione di chiave esterna primaria composita non menzionata negli screenshot ...... – user3004110

+0

@ user3004110: se è necessario fare riferimento a una chiave primaria composta, è sufficiente selezionare più di una colonna nella finestra di dialogo per definire la chiave esterna! –

+0

La GUI non funzionava, lo script T-SQL funzionava immediatamente –

0

Se si apre il sottomenu per una tabella nell'elenco tabella in Management Studio, c'è un articolo Keys. Se fai clic con il tasto destro del mouse su questo, ottieni New Foreign Key come opzione. Se si seleziona questa opzione, si apre la finestra di dialogo Relazioni chiave esterna. Nella sezione (Generale), troverai Tables And Columns Specifications. Se apro questo, posso selezionare più colonne.

-1

Aggiungere due chiavi esterne separate per ogni colonna.

+2

Se nella tabella di riferimento è presente solo una chiave primaria composta e nessun'altra chiave dichiarata, non è possibile creare una chiave esterna che fa riferimento solo a una delle colonne. –

+0

è possibile? Io non la penso così! –