Ich habe Tabellen mit ang1 und EMP2Primärschlüssel mit zwei Spalten in Oracle?
ang1:
emp_1 | emp_2
1 | 2
3 | 4
5 | 6
EMP2:
emp
1
2
3
6
I Primärschlüssel Tabelle ang1 und Fremdschlüssel zu EMP2 zu setzen versucht.
Mein Code:
Für Primärschlüssel:
alter table emp1 add primary key(emp_1,emp_2);
Für Fremdschlüssel:
alter table emp2
add foreign key (emp)
references a_t1(emp_1,emp_2);
Fehler:
Error report -
SQL Error: ORA-02256: number of referencing columns must match referenced columns
02256. 00000 - "number of referencing columns must match referenced columns"
*Cause: The number of columns in the foreign-key referencing list is not
equal to the number of columns in the referenced list.
*Action: Make sure that the referencing columns match the referenced
columns.
bitte mir helfen, diesen Fehler zu lösen und Stellen Sie den Primärschlüssel ein.
Sie versuchen, einen Fremdschlüssel aus einem Feld zu zwei Feldern hinzuzufügen; Sie müssen entscheiden, ob die Werte in der Tabelle EMP2 mit den Datensätzen in der Spalte emp_1 ODER emp_2 aus der Tabelle EMP1 übereinstimmen müssen. – Aleksej
Sie können nicht festlegen, dass sich ein FK auf einen Teil einer zusammengesetzten PK oder einen von zwei separaten Schlüsseln bezieht (PK oder UK). Was würden Sie erwarten, wenn Sie sagen würden, Sie hätten Zeilen in emp1 mit Werten (7,8) und Werten (8,9) und wollten eine Zeile in emp2 mit Wert (8)? Auf welche Zeile im Elternteil würde sich das beziehen? –
yeh ich habe es. Ich habe versucht, einen zusammengesetzten Primärschlüssel zu erstellen. – user5505661