2016-05-11 17 views
0

MS SQLまたはTransact SQLでmodelIdとItemシリアル番号で構成されたユニークなものを作成しようとしていますが、これを行う方法がわかりません。異なるテーブルへの外部複合キー

ALTER TABLE [test].[Inventory] ADD CONSTRAINT [CK_UId_Model_SN] 
FOREIGN KEY ([UId]) REFERENCES (Models.ModelId, [Inventory].SerialNum) 
+0

しかし、Uidはコンポジットではありません。この質問は混乱しています。 2つのテーブル間でキーを持つことはできません。 – Paparazzi

答えて

1

複数のテーブル間で外部キー関係を作成することはできません。外部キーSQL Serverドキュメントを参照してください。ただし、以下のような複合外部キーを作成することができます。

ALTER TABLE [Inventory] ADD CONSTRAINT [CK_UId_Model_SN] FOREIGN KEY (C1,C2) REFERENCES Models (C1,C2) 
ALTER TABLE [Inventory] ADD CONSTRAINT [CK_UId_Model_SN] FOREIGN KEY (C1,C2) REFERENCES Inventory (C1,C2) 
関連する問題