pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Announce <truthhurts@insightbb.com>
To: pgsql-sql@postgresql.org
Subject: DEFAULT Constraint based on table type?
Date: Mon, 28 Nov 2005 14:22:49 -0600
Message-ID: <KBEKKNMFLELKGIADDEPEMEBPCDAA.truthhurts@insightbb.com> (raw)
In-Reply-To: <ECOWS01MpB9pbKWZfEA0000693e@smtp-out1.blueyonder.co.uk>

Lets say I have the following tables.

CREATE TABLE animals(id primary key, name varchar, type varchar);
CREATE TABLE dogs (breed varchar)            INHERITS (animals);
CREATE TABLE birds (bool hasFeathers) INHERITS (animals);

Is there a way I can specify a default on the child table that will populate
the 'type' column? For example, if I am inserting a row in table DOGS, I
would always want the default value for column TYPE to be 'DOG'. If I am
inserting into BIRDS.... type 'BIRD'.

I know that I could add individual triggers on each table that set the TYPE
field to a default value on insert but I wanted a more simple solution like
setting a DEFAULT table-constraint.

Also, In java, this could be done on a parent object by overriding a
constructor or method, using the Class object or instanceof.  Is there
anyway for a table to "know" it's "class" in this scenario?

Thanks,

-Aaron




view thread (5+ messages)  latest in thread

Message-ID: <KBEKKNMFLELKGIADDEPEMEBPCDAA.truthhurts@insightbb.com>
Permalink:  ../KBEKKNMFLELKGIADDEPEMEBPCDAA.truthhurts@insightbb.com/
Also on:    postgresql.org/message-id/KBEKKNMFLELKGIADDEPEMEBPCDAA.truthhurts@insightbb.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: truthhurts@insightbb.com
  Subject: Re: DEFAULT Constraint based on table type?
  In-Reply-To: <KBEKKNMFLELKGIADDEPEMEBPCDAA.truthhurts@insightbb.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox