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