我可以使用引用的主/唯一键列数较少的外键吗? (ORA-02270错误说不)
答案 0 :(得分:4)
您可以使用较少的列,但 使用的列必须对它们具有UNIQUE约束。
当然,如果你可以在主键的一部分上放置一个UNIQUE约束,那么你必须问自己一个问题:“为什么我的主键有比它更多的列首先需要什么?“
答案 1 :(得分:2)
FK不一定是其他表的PK。它可以,但它没有。
因此,您可以根据需要使用多个列作为FK ...
来自oracle:
子表中的外键通常引用父表中的主键。
修改:原始问题是关于列数,而不是将不完整的PK用作FK。
FK必须引用另一个表中唯一的东西。因此,您必须使用具有UNIQUE约束的任何列或其他表的PK(因为PK也必须是唯一的。例如,您从表中选择多个列,因为每个列,不是单独的,不是唯一的,但多列的串联将是唯一的。)