> While thinking over Jeremy Radlow's recent problem report in
> pgsql-general, it occurs to me that it's probably wrong to implement
> referential integrity actions like ON CASCADE DELETE in AFTER 
> triggers. Seems to me that this breaks the fundamental rule of
> referential integrity: if B references A then there must always be
> a matching A row for every B row.  Therefore, if we delete a row from
> A we should delete the matching B row(s) before, not after, we delete
> from A. Otherwise the remainder of the transaction sees an illegal
> state of the database.
> 
> Comments?  How about ON UPDATE actions?

No - AFTER is right place where to do action: don't forget
about DEFERRED RI constraints for which we have to perform
check/action sometime later *after* we changed PK/FK rows.

Vadim

Mon, 2 Apr 2001 10:05:30 -0700 
"Mikheev, Vadim" <vmikheev@SECTORBASE.COM>
RE: Shouldn't ON UPDATE/DELETE triggers be BEFORE trigg
	ers?