On Mon, 22 Mar 2004, Erik Thiele wrote: > On Mon, 22 Mar 2004 06:21:28 -0800 (PST) > Stephan Szabo <[EMAIL PROTECTED]> wrote: > > > > > On Mon, 22 Mar 2004, Erik Thiele wrote: > > > > However, foreign keys are implemented using "constraint triggers". They're > > really not documented much (because they're a not really separately > > supported implementation detail), but you can theoretically make > > triggers that are deferred to immediately before commit time. > > could you paste some code? > > > create table a (x integer); > > create or replace function alwaysfail() returns opaque as ' > begin > raise exception ''no no i dont want to''; > end; > ' language 'plpgsql'; > > MAGIC COMMAND INSERT HERE, INSTALL CALL OF alwaysfail() ON > MODIFICATION OF TABLE a AT COMMIT TIME;
create constraint trigger a_foo1 after insert or update or delete on a initially deferred for each row execute procedure alwaysfail(); Like I said, it's an implementation detail, so it's not 100% guaranteed to exist forever, but it's almost certain to last until we have deferrable non-fk constraints. It does also obey set constraints so, set constraints a_foo1 immediate does the checks immediately just as if it were a deferred constraint. ---------------------------(end of broadcast)--------------------------- TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]