2017-07-29 58 views
1

假設外國參考鍵,我們有以下兩個表格如何創建組成主鍵

Create table Bank (
    Bank_ID Numeric Not Null, 
    Bank_Card Numeric Not Null, 
    Primary Key(Bank_ID, Bank_Card) 
) 

Create table Customer (
    Customer_ID Numeric Not Null, 
    Name varchar(30) Not Null, 
    Primary key(Customer_ID) 
) 

凡通過連接Bank_ID和Bank_Card產生CUSTOMER_ID。我如何設置外鍵Customer_ID來引用Bank_ID和Bank_Card

+1

簡答:你不行。長的答案是重新設計表格或添加生成的列。 –

回答

0

你想要的是一個約束,但它不是一個FK(外鍵)約束(FK約束表示列列表的值在其他地方出現爲PK/UNIQUE。)爲了強制執行它,你可以在Customer中添加冗餘生成(計算/計算)列Customer_IDBank和一個FK。要執行它而不添加冗餘列,您需要觸發器。但是smart keys are a bad idea.