外键目标取决于外键的值



我有这个SQL Fiddle中描述的基本设置。简而言之,我有一个表,它有一个候选外键,其值可能标识几个表中的一个表中的记录(如果它不是NULL,那就是)!我应该如何告诉Oracle(11g r2)这一点,或者在这样的列上设置外键约束是一个没有希望的原因吗?

(注意:这是而不是,因为任何类型的分区——实际DB中foobarbaz的等价物都有完全不同的模式,只是它们都有可以保证不重叠的ID。)

这个问题与多个表的外键非常相似

这个问题的首要答案提出了许多好的解决方案,但在您的情况下,您可以遵循的标准做法是为每个表(bar_id、baz_id和foo_id)的id设置一列。

最新更新