我正在尝试为表示为1或2个字符的状态定义新域。 (可能的值为:{P,T,R,AR,V,AV})
我尝试以下方法:
> CREATE DOMAIN hbdt_estadosol CHAR(2) NOT NULL
> DEFAULT 'P'
> CHECK ( VALUE ~ '^(P|T|R|AR|V|AV)$' );
但是当我尝试使用'P'作为值向表中插入新值时,postgresql返回:
ERROR: value for domain hbdt_estadosol violates check constraint "hbdt_estadosol_check"
我摆脱了'^(P | T | R | AR | V | AV)$'上的$,插入句子工作正常。
我尝试使用\ Z而不是$并且插入句子再次发送违规。
正确的正则表达式是什么?
提前致谢