Domain (域)

CREATE DOMAIN name [ AS ] data_type
    [ DEFAULT expression ]
    [ constraint [ ... ] ]

where constraint is:

[ CONSTRAINT constraint_name ]
{ NOT NULL | NULL | CHECK (expression) }

本质用来定义,(可以包换约束的)数据类型。 优点在于,如果多处使用该类型,且该类型需要某种约束时,不需每次都重新定义。

示例:
CREATE DOMAIN us_postal_code AS TEXT
CHECK(
   VALUE ~ '^\\d{5}$'
OR VALUE ~ '^\\d{5}-\\d{4}$'
);
//正则表达式用来匹配数据

CREATE TABLE us_snail_addy ( address_id SERIAL PRIMARY KEY, street1 TEXT NOT NULL, street2 TEXT, street3 TEXT, city TEXT NOT NULL, postal us_postal_code NOT NULL );
posted @ 2012-05-30 09:20  友学友  阅读(325)  评论(0编辑  收藏  举报