On Thu, 21 Feb 2002, Josh Berkus wrote:
> Henry,
>
> > If I have a column constraint:
> > addr_type char( 10 ) default 'street'
> > CHECK( addr_type = 'street' || addr_type = 'pobox' ),
> > in a table, how can I add another choice to the list after I've
> > already
> > entered data into the table?
>
> Three options:
>
> One, drop and rebuild the table with the constraint modified. Sorry,
> but until we have ALTER CONSTRAINT implemented, this is the only
> simple way to modify and exisiting constraint.
Umm... on 7.2 you should be able to drop the existing constraint
and add a new one. If you don't name the constraint you have to
find the internally generated name for the constraint from pg_relcheck
however.
> Three, drop and re-build the table, and this time do it right: have
> column addr_type reference another table called "addr_types" that list
> the acceptable type values. Then use a foriegn key to enforce this.
This is probably happier in any case...