2016-04-04 64 views
0

我有應該有兩個FK表分配 - 經理ID & ManagerProjID定義外鍵一元關係

CREATE TABLE Assignment 
    (
     RescID NUMBER (8) NOT NULL , 
     RProjID NUMBER (4) NOT NULL , 
     AssignRole VARCHAR2(100) , 
     ManagerID NUMBER (8) , 
     ManagerProjID NUMBER (4), 
     CONSTRAINT Assignment_PK PRIMARY KEY (RescID, RProjID) 


    ) 
; 

當我嘗試運行命令

ALTER TABLE Assignment 
    ADD CONSTRAINT Assignment_Manager_FK FOREIGN KEY 
    (MANAGERID) 
    REFERENCES Assignment 
    (MANAGERID) 
; 

我收到的沒有錯誤匹配此列列表的唯一或主鍵。

回答

1

您的查詢未執行您的問題標題所指的內容。它試圖自己參考一列ManagerID

你不能有一列是不是primary key或​​因爲不會有強制執行的列的唯一性被引用的方式foreign key參考。 ManagerProjID是一個非唯一的列,因此您無法在其上創建foriegn密鑰引用。

1

A Foreign key不能引用自己。它只能指PrimaryKey