2013-10-02 21 views
0

我試圖創建一個表的外鍵到另一個,但我不知道爲什麼這個錯誤ORA-02270錯誤

ORA-02270:此列列表中沒有匹配的唯一或主鍵

保持每次我試圖彈出,請幫我

CREATE TABLE usuarios(
    username VARCHAR2(100), 
    cedula VARCHAR2(100), 
    ultimoAcceso DATE, 
    CONSTRAINT Pk PRIMARY KEY (cedula,username) 
    ) ; 

CREATE TABLE pagoPlanillas(
    ced VARCHAR2(100), 
    fecha DATE, 
    detalle VARCHAR2(100), 
    salario VARCHAR2(100), 
    CONSTRAINT FK1 FOREIGN KEY(ced) REFERENCES usuarios(cedula) 
    ) ; 

回答

0

主上表usuarios鍵是一個由cedulausername的化合物鍵。您的外鍵約束僅需要cedula上的索引。只需創建另一個索引。

+0

感謝它的工作! =)這裏就是我所做的: CREATE TABLE USUARIOS( \t用戶名VARCHAR2(100), \t cedula VARCHAR2(100), \t ultimoAcceso DATE, \t約束PK PRIMARY KEY(cedula) \t); \t \t \t \t \t CREATE TABLE pagoPlanillas( \t土木工程署VARCHAR2(100), \t日期星DATE, \t detalle VARCHAR2(100), \t salario VARCHAR2(100), \t約束FK1外鍵(CED)參考usuarios(cedula) \t); – MaynorSong

1

(cedula,用戶名)是一個複合鍵。通過結合這兩列,您可以在表格「Usuarios」中創建主鍵。如果你只引用表pagoplanillas中的一列,那麼你會得到這個錯誤。因爲,cedula列單獨可能包含重複的值,而不是一個主鍵

+0

感謝它的工作! =)這裏就是我所做的 CREATE TABLE USUARIOS( \t用戶名VARCHAR2(100), \t cedula VARCHAR2(100), \t ultimoAcceso DATE, \t約束PK PRIMARY KEY(cedula) \t); \t \t \t \t \t CREATE TABLE pagoPlanillas( \t土木工程署VARCHAR2(100), \t日期星DATE, \t detalle VARCHAR2(100), \t salario VARCHAR2(100), \t約束FK1外鍵(CED)參考usuarios(cedula) \t); – MaynorSong

+0

不允許我.in 6分鐘我會做 – MaynorSong

+0

檢查在這裏:http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work – Viji