val#
不应在多个列中。可以选择多个列
empty
虽然(我不想用
NULL
而不是
.)
CREATE TYPE vals AS ENUM ('val1', 'val2', 'val3', 'val4', 'val5', ... 'empty');
CREATE TABLE some_table
( ...
column1 vals NOT NULL,
column2 vals NOT NULL,
column3 vals NOT NULL,
CONSTRAINT some_table_column_vals_check CHECK (???)
... );
有效组合,例如:
column1: val1
column2: val2
column3: val4
column1: val1
column2: empty
column3: empty
无效的组合,例如:
column1: val1
column2: val3
column3: val3
column1: val2
column2: empty
column3: val2
有没有一种简洁的方法可以通过约束(最好不要太长)来实现这一点,或者我应该为此编写一个触发器函数?