Re: Simple, Add constraint - Mailing list pgsql-novice

From Richard Broersma Jr
Subject Re: Simple, Add constraint
Date
Msg-id 702872.44400.qm@web31812.mail.mud.yahoo.com
Whole thread Raw
In response to Simple, Add constraint  (nhrcommu@rochester.rr.com)
Responses Re: Simple, Add constraint  (nhrcommu@rochester.rr.com)
List pgsql-novice
--- nhrcommu@rochester.rr.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.





pgsql-novice by date:

Previous
From: Tom Lane
Date:
Subject: Re: meaning of "create role"
Next
From: nhrcommu@rochester.rr.com
Date:
Subject: Re: Simple, Add constraint