如何为基于复合类型的 Postgres DOMAIN 定义 CHECK 约束
How to define CHECK constraint for a Postgres DOMAIN that is based on a composite type
我想定义一个带有基于自定义复合类型的检查约束的 Postgres 域。
一个天真的方法的例子是这样的:
CREATE TYPE raw_comp_foo AS (
min_value integer,
max_value integer
);
CREATE DOMAIN comp_foo AS raw_comp_foo
CHECK (VALUE.min_value < VALUE.max_value);
但是,我收到错误消息 missing FROM-clause entry for table "value"
。
如何在上面的示例中实现所需的约束?
将复合类型值放在括号中:
CREATE DOMAIN comp_foo AS raw_comp_foo
CHECK ((VALUE).min_value < (VALUE).max_value);
我想定义一个带有基于自定义复合类型的检查约束的 Postgres 域。
一个天真的方法的例子是这样的:
CREATE TYPE raw_comp_foo AS (
min_value integer,
max_value integer
);
CREATE DOMAIN comp_foo AS raw_comp_foo
CHECK (VALUE.min_value < VALUE.max_value);
但是,我收到错误消息 missing FROM-clause entry for table "value"
。
如何在上面的示例中实现所需的约束?
将复合类型值放在括号中:
CREATE DOMAIN comp_foo AS raw_comp_foo
CHECK ((VALUE).min_value < (VALUE).max_value);