RI约束可以应用于非主键列吗?

时间:2014-03-27 16:44:11

标签: oracle constraints referential-integrity

我们需要在表的非主键列上设置RI约束。

情景:

**TABLE_2**     
**Unique_Key    Expression_Key  Data**
 132             ASDF123    qweqwr
 458             PQRS789    abcd

**TABLE_1**     
**Unique_Key    Expression_Key  Expression_Rule**
  XYZ123             ASDF123    Fname = Simon
  ABC123             ASDF123    Lname = Kelso
  QWE123             ASDF123    Age = 89
  FRU123             ASDF123    Gender = M
  RTY3435            PQRS789    Fname = Michael
  TYR134             PQRS789    Lname = John

要求是,如果我得到132的值 - 那么我需要评估expression_id ASDF123的规则。此表达式ID不是Table_1的主键,但对于与该表达式相关的所有行都是唯一的。

我们可以在上面的场景中实现RI约束吗? Table_1.Expression_Key = Table_2.Expression_Key 如果在插入数据时未满足此条件,则应该抛出错误。

1 个答案:

答案 0 :(得分:0)

外键约束可以引用unique约束(它不需要是主键)。