Postgres 9.3 - 限制值(基于具有外键的不同表中的值)

时间:2014-02-26 22:36:27

标签: sql postgresql

我有两个看起来像这样的表:

CREATE TABLE "schema"."TableOne" (
    "TableOneID" SERIAL PRIMARY KEY,
    "TimeRange" TSTZRANGE
);

CREATE TABLE "schema"."TableTwo" (
    "TableTwoID" SERIAL PRIMARY KEY,
    "TableOneID" INTEGER FOREIGN KEY ("SoulID") REFERENCES "schema"."TableOne" ("TableOneID")
    "TimeRange" TSTZRANGE
);

我想确保"TableTwo"."TimeRange"中的任何值都包含在"TableOne"."TimeRange""TableOne"."TableOneID" = "TableTwo"."TableOneID"

的范围内

我已多次阅读documentation(8.17.10。范围约束),无法找到实现这一目标的方法......任何想法?

1 个答案:

答案 0 :(得分:1)

你还不能在PostgreSQL中做到这一点。 pgsql-hackers listserv建议使用可序列化事务来更改数据,并使用触发器来实现约束。