pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Erik Thiele <erik@thiele-hydraulik.de>
To: pgsql-sql@postgresql.org
Subject: special integrity constraints
Date: Mon, 22 Mar 2004 10:20:31 +0100
Message-ID: <20040322102031.6a6f0b77.erik@thiele-hydraulik.de> (raw)

hi,

i have two tables

create table a (x integer);
create table b (y real);

i have the special constraint that the sum of the number of rows in
table a plus the number of rows in table b must be even.

so there is a posibility of adding one element to a and one element to
b, and again the constraint is met.

but this of course does not work, since between adding the element to a
and adding the element to b, the constraint is not met.

so i cannot use a trigger.

what i need is the execution of a check procedure at commit time. is
that somehow possible?

my database has much more tables than just a and b, and most time the other
tables are modified and not a or b, so it would be nice to execute the
constraint checking procedure only if a or b was modified.

yes :) this question i asked in my former mail too, but I think it
looked like there was a workaround and my problem was wrong. so i
created this new kind of problem here to make things clearer.


cu
Erik


-- 
Erik Thiele



view thread (13+ messages)  latest in thread

Message-ID: <20040322102031.6a6f0b77.erik@thiele-hydraulik.de>
Permalink:  ../20040322102031.6a6f0b77.erik@thiele-hydraulik.de/
Also on:    postgresql.org/message-id/20040322102031.6a6f0b77.erik@thiele-hydraulik.de

 · 

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: erik@thiele-hydraulik.de
  Subject: Re: special integrity constraints
  In-Reply-To: <20040322102031.6a6f0b77.erik@thiele-hydraulik.de>

* 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