Dennis Gearon <gearond(at)fireserve(dot)net> writes:
> I am working on a design where a location for something can have:
> Fully qualified address with even building names, room numbers, and
> booth numbers.
> **-OR-**
> GPS location
> **-OR-**
> Both
> Other than triggers, is there a way to enforce this using tables and
> primary keys?
Put foreign key constraints on the address and GPS loc (so that they
must be either valid or NULL) and then add a CHECK constraint saying
they can't both be NULL.
regards, tom lane