Re: Simple, Add constraint

From: Richard Broersma Jr <rabroersma(at)yahoo(dot)com>
To: nhrcommu(at)rochester(dot)rr(dot)com, pgsql-novice(at)postgresql(dot)org
Subject: Re: Simple, Add constraint
Date: 2007-06-20 15:47:21
Message-ID: 702872.44400.qm@web31812.mail.mud.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice

--- nhrcommu(at)rochester(dot)rr(dot)com wrote:
> Trying to add a constraint so that all phone numbers will be in a
> '111-222-3333' format. Tried a few combos, with below the latest effort.
>
> ALTER TABLE "fortour"."mine" ADD CONSTRAINT mine_cnstr_2 CHECK (phone
> LIKE '999s999s9999')

in addition the the LIKE predicate, you can use regular expressions which are a more powerful tool
for pattern recognition.

ALTER TABLE "fortour"."mine"
ADD CONSTRAINT mine_cnstr_2
CHECK (phone ~ E'^[0-9]{3}-[0-9]{3}-[0-9]{4}$');

http://www.postgresql.org/docs/8.2/interactive/functions-matching.html#FUNCTIONS-POSIX-REGEXP

However, you can generalize this by using creating a DOMAIN called PhoneNumbers. Notice the
example used for zipcodes in the following link:

http://www.postgresql.org/docs/8.2/interactive/sql-createdomain.html

Regards,
Richard Broersma Jr.

In response to

Responses

Browse pgsql-novice by date

  From Date Subject
Next Message nhrcommu 2007-06-20 16:05:05 Re: Simple, Add constraint
Previous Message Tom Lane 2007-06-20 15:34:56 Re: meaning of "create role"