Ben emp1 ve Emp2 ile tablolarOracle'da iki sütunlu birincil anahtar?
emp1:
emp_1 | emp_2
1 | 2
3 | 4
5 | 6
Emp2:
Ben masa emp1 ve Emp2 yabancı anahtara birincil anahtarı ayarlamak çalıştıemp
1
2
3
6
.
alter table emp1 add primary key(emp_1,emp_2);
yabancı anahtar için:
alter table emp2
add foreign key (emp)
references a_t1(emp_1,emp_2);
Hata: Lütfen
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.
bu hatayı çözmek için bana yardımcı ve
Kodum: Birincil anahtar için
birincil anahtarı ayarlayın.
Bir alandan iki alana bir yabancı anahtar eklemeyi deniyorsunuz; EMP2 tablosundaki değerlerin EMP1 tablosundan emp_1 veya emp_2 sütunundaki kayıtlarla eşleşmesi gerekip gerekmediğine karar vermelisiniz. – Aleksej
Bir FK'nin bir parçasına veya iki ayrı anahtardan (PK veya İngiltere) birine referansta bulunabilirsiniz. Eğer emp1'de değerler (7,8) ve değerler (8,9) ile satırlar olsaydınız ve emp2'de değer (8) ile bir satır isteseydiniz ne olur? Ebeveynte hangi satır buna atıfta bulunur? –
Evet anladım. Kompozit bir birincil anahtar yapmaya çalışıyordum. – user5505661