Sto tentando di fare riferimento a una vista con una chiave esterna, ma sto ottenendo questo errore:chiave esterna che fa riferimento una vista in Oracle
"Errore: ORA-02270: nessuna corrispondenza univoca o primaria chiave per questa colonna- lista "
Tuttavia, ho creato una chiave primaria su questa vista e l'ho verificata nella scheda Vincoli in TOAD.
Questa è la tavola che sto tentando di creare:
CREATE TABLE QUESTION
(
QUESTION_ID INTEGER not null,
CREATED_USER_ID INTEGER not null,
CONSTRAINT PK_QUESTION PRIMARY KEY (QUESTION_ID),
CONSTRAINT FK_USER
FOREIGN KEY (CREATED_USER_ID)
REFERENCES SOME_VIEW(VIEW_ID)
);
SOME_VIEW è una vista basato su un altro punto di vista che punta alla tabella di dipendente in un altro schema.
Raccolgo che voglio/ho bisogno di questo per avere una singola chiave esterna che potrebbe provenire da più tabelle, perché una colonna può avere più vincoli di chiave esterna contro una singola colonna ... ma il valore nella colonna dovrebbe esistono in tutte le tabelle relative ai vincoli stranieri. Spero che questo sia un mezzo per la transizione del database, e solo temporaneo. –
In altre parole, SOME_VIEW, OTHER_VIEW e BASE_TABLE devono avere tutti gli stessi valori per far funzionare questo vincolo di chiave esterna? – echoblaze
Correlati, sebbene vecchi (2006): http://thinkoracle.blogspot.com/2006/11/view-constraints.html –