我可以使用主键/唯一键引用的列数更少的外键吗? (ORA-02270错误说不)Oracle参照约束
回答
FK不一定是另一个表的PK。它可以,但它不一定。
所以,你可以根据需要为FK使用尽可能多列...
从oracle:
在子表的外键将一般参考父主键表。
编辑:原来的问题是关于列的数量,而不是关于使用不完整的PK的FK。
FK必须引用另一个表中唯一的东西。因此,您必须使用任何具有UNIQUE约束的列或另一个表的PK(因为PK必须是唯一的)。例如,您从表中选择多个列,因为每个列都不是唯一的,但多列的连接将是唯一的)。
ORA-02270另有说明 – Rnet
考虑到您的原始问题,ORA-02270未说明否则。它只是说列必须是唯一的,并且不涉及列数。你的FK可以有任意数量的列(但限于oracle中的32),但是它们都必须具有唯一的约束。 – woliveirajr
您可以使用较少的列,但使用的列必须对它们具有UNIQUE约束。
,当然,如果你可以把唯一约束仅仅是主键的一部分,那么你要问自己一个问题:“为什么我的主键有更多的列比第一需要地点?”
- 1. 参照约束?
- 2. 参照完整性约束是Oracle
- 3. Oracle约束
- 4. Oracle null约束
- 5. 删除与参照完整性约束
- 6. Oracle检查约束
- 7. Oracle检查约束
- 8. oracle完整性约束
- 9. 外键约束在Oracle
- 10. Oracle sql约束问题
- 11. sql数据库oracle约束
- 12. 未执行Oracle FK约束
- 13. 约束检查Oracle SQL
- 14. 一个Oracle检查约束
- 15. Oracle中的外键约束
- 16. Oracle外键约束问题
- 17. 新的Oracle约束类型
- 18. Oracle找到约束条件
- 19. 处理参照完整性约束违规正确
- 20. Rails 3中的Postgresql参照完整性约束条件
- 21. 的Android 2.2 + SQLite的+定义参照完整性约束
- 22. 发生参照完整性约束冲突
- 23. MariaDB Galera集群参照完整性约束
- 24. 发生了参照完整性约束违规。当更新EF
- 25. MS Access - 实施参照完整性 - 多表外键约束
- 26. 错误“发生了参照完整性约束违规”
- 27. 的SchemaExport和关闭参照完整性约束
- 28. 参照完整性约束违规发生mvc4
- 29. SSRS - 实现参数约束
- 30. 模板参数约束
外键需要引用单个外键行。这意味着*所有*的唯一键(并且主键也是唯一键)。 – MatBailie