对于我的项目,我使用的是 oracle 数据库,我必须使用 2 个不同的数据库模式。请考虑以下情况 -
我有一个模式 A
并且在其中我有一个表 table_a
和一个主键 apk
我有另一个模式 B
并且在其中我有一个表 table_b
和一个主键 bpk
如果这两个表都在同一个数据库中,那么我可以很容易地建立主键-外键关系。
但是我可以在这两列之间创建一个主键 - 外键关系(或类似的东西) - A.table_a.apk
和 B.table_b.pbk
。
提前致谢。
最佳答案
要创建引用不同模式中对象的外键,您只需限定对象名称
ALTER TABLE B.table_b
ADD CONSTRAINT fk_b_a FOREIGN KEY (apk) REFERENCES a.table_a( apk )
这还要求用户 B
对 A.table_a
具有足够的权限。用户需要拥有 REFERENCES
权限,并且可能还需要拥有表的 SELECT
权限。
关于database - 引用另一个模式的外键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29155012/