是否可以在postgresql中创建交叉关系约束?

时间:2019-01-10 14:02:10

标签: sql postgresql

我可以在数据库上创建约束以确保通过外键链接的不同表中的列之间存在某种关系吗?因此,作为示例,我可以确保表中的某行的某个列的值大于它引用的另一张表中某行的列中的值。

因此,您可能天真地认为它看起来像:

CREATE table1 (
    id integer PRIMARY KEY,
    col1 integer
);
CREATE table2 (
    id integer PRIMARY KEY,
    link_to_1 integer REFERENCES table1,
    col2 integer,
    -- Is there some way of specifying the following constraint?
    CHECK (col2 > link_to_1.col1)  
);

因此table1中的行永远不能有col1大于col2行中的link_to_1值的项。

因此,显然,此约束将阻止您随后将table1.col1值修改为高于table2.col2值的值。

0 个答案:

没有答案