Re: SET NULL / SET NOT NULL - Mailing list pgsql-hackers

From Peter Eisentraut
Subject Re: SET NULL / SET NOT NULL
Date
Msg-id Pine.LNX.4.30.0202191743370.684-100000@peter.localdomain
Whole thread Raw
In response to SET NULL / SET NOT NULL  ("Christopher Kings-Lynne" <chriskl@familyhealth.com.au>)
List pgsql-hackers
Christopher Kings-Lynne writes:

> I'm hoping to implement SET NULL / SET NOT NULL for 7.3
>
> I've been searching the SQL99 docs but I still can't figure out the syntax
> for it.

There isn't really a syntax for it.  SQL only allows you to add table
constraints, not column constraints.  A NOT NULL constraint is a shorthand
notation for a CHECK constraint, so to add a NOT NULL constraint you'd
have to recognize CHECK constraints of the form CHECK (col IS NOT NULL)
and handle them specially.  To drop NOT NULL constraints, you'd use the
regular ALTER TABLE blah DROP CONSTRAINT foo; where foo is the name of the
NOT NULL constraint.  The drawback is that NOT NULL constraints currently
don't have a name stored.

-- 
Peter Eisentraut   peter_e@gmx.net



pgsql-hackers by date:

Previous
From: Stephan Szabo
Date:
Subject: Re: pg_dump: use ALTER TABLE for PKs
Next
From: Philip Warner
Date:
Subject: Re: pg_dump: use ALTER TABLE for PKs