我的數據是在表中(這是一個例子):REFERENCE ON複合主鍵
BOX
和箱內容表:
而在系統中的每個框會是這樣的。因爲一個盒子必須具備: 客戶端代碼, 框代碼 和箱NUM
,並在框中每個項目必須具備: 客戶端代碼, 框代碼, BOX NUM 和一個數字爲每個項目。
現在,爲了這個,我做兩個表的複合主鍵:
CREATE TABLE BOX (
CLIENT_CODE NVARCHAR(10),
BOX_CODE Nvarchar(50),
BOX_NUMBER SMALLINT,
BOX_CONTENT NVARCHAR(250),
CONSTRAINT PK_BOX_CLI_COD_NUM PRIMARY KEY(CLIENT_CODE, BOX_CODE, BOX_NUMBER)
);
和
CREATE TABLE BOX_CONTENT (
CLIENT_CODE NVARCHAR(10),
BOX_CODE Nvarchar(50),
BOX_NUMBER SMALLINT,
BOX_CONTENT_NUMBER SMALLINT,
ID1 NVARCHAR(50),
ID2 NVARCHAR(50),
ID3 NVARCHAR(50),
ID4 NVARCHAR(50)
CONSTRAINT PK_BOXCONT_CLI_COD_BNUM_CNUM PRIMARY KEY(CLIENT_CODE, BOX_CODE, BOX_NUMBER, BOX_CONTENT_NUMBER)
);
我的問題是,怎樣才能引用表之間的外鍵? 這張表會有很多數據並需要參考。
如果我這樣做:
CONSTRAINT fk_BOX_CLI FOREIGN KEY(CLIENT_CODE) REFERENCES BOX(CLIENT_CODE),
CONSTRAINT fk_BOX_CODE FOREIGN KEY(BOX_CODE) REFERENCES BOX(BOX_CODE),
CONSTRAINT fk_BOX_NUMB FOREIGN KEY(BOX_NUMBER) REFERENCES BOX(BOX_NUMBER)
我有一個錯誤,如果我在一個單行設置FK過。
有人有想法嗎? 可以理解的......
問候......
請花時間用實際文字替換圖片(鏈接)。它看起來並不複雜。 –
小寫的首字母標題 –
感謝Royi, 但是當我試了一下,Tabs和空格錯位的文字。 因此,我插入圖片鏈接以更好地展示我擁有的和我需要的東西。 –