2014-06-05 14 views
6

Ich kann erfolgreich erstellen Composite Primärschlüssel in SQL Server Management Studio 2012, indem Sie zwei Spalten (OrderId, CompanyID) und die rechte Maustaste und legen Sie als Primärschlüssel erstellen. Aber ich weiß nicht, wie Fremdschlüssel in zwei Spalten (OrderId, CompanyId) in anderen Tabelle mithilfe von SQL Server Management Studio 2012 erstellen.Wie Composite Fremdschlüssel in SQL Server Management Studio 2012

Antwort

12

im Objekt-Explorer, gehen Sie zu Ihrem Tisch und wählen Keys > New Foreign Key aus dem Kontextmenü:

enter image description here

in dem Dialogfeld, das erscheint, klicken Sie auf den hinzufügen, um einen neuen Fremdschlüssel erstellen :

enter image description here

ihm einen aussagekräftigen Namen geben und dann auf den

klicken ... Taste zum Öffnen des Tables and Columns specification Dialogfeld:

enter image description here

für die Eltern in den erforderlichen Spalten füllen und die untergeordneten Tabellen, klicken Sie auf OK und Sie fertig sind!

Oder viel einfacher und effizienter - verwenden Sie ein T-SQL-Skript!

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

Ich kenne die obige Abfrage, aber das Problem ist, dass ich es visuell tun möchte. Du hast den Fremdschlüssel im Screenshot erwähnt. seine feine aber im Falle der zusammengesetzten primären Fremdschlüssel Beziehung nicht in Screenshots erwähnt ...... – user3004110

+0

@ user3004110: wenn Sie einen zusammengesetzten Primärschlüssel verweisen müssen, müssen Sie nur mehr als eine Spalte im Dialogfeld zu wählen Definieren Sie den Fremdschlüssel! –

+0

GUI-Weg funktionierte nicht, T-SQL-Skript funktionierte sofort –

0

Wenn Sie das Untermenü für eine Tabelle in der Tabellenliste in Management Studio öffnen, Es gibt einen Artikel Keys. Wenn Sie mit der rechten Maustaste darauf klicken, erhalten Sie als Option New Foreign Key. Wenn Sie dies auswählen, wird der Dialog Fremdschlüsselbeziehungen geöffnet. Im Abschnitt (Allgemein) finden Sie Tables And Columns Specifications. Wenn ich das öffne, kann ich mehrere Spalten auswählen.

-1

Fügen Sie zwei separate Fremdschlüssel für jede Spalte hinzu.

+2

Wenn es nur einen zusammengesetzten Primärschlüssel für die referenzierte Tabelle und keine anderen deklarierten Schlüssel gibt, können Sie keinen Fremdschlüssel erstellen, der nur auf eine der Spalten verweist. –

+0

ist es möglich? Ich denke nicht! –

Verwandte Themen