Re: special integrity constraints
От | Erik Thiele |
---|---|
Тема | Re: special integrity constraints |
Дата | |
Msg-id | 20040322172544.0a9b34d4.erik@thiele-hydraulik.de обсуждение исходный текст |
Ответ на | Re: special integrity constraints (Stephan Szabo <sszabo@megazone.bigpanda.com>) |
Ответы |
Re: special integrity constraints
|
Список | pgsql-sql |
On Mon, 22 Mar 2004 06:21:28 -0800 (PST) Stephan Szabo <sszabo@megazone.bigpanda.com> wrote: > > On Mon, 22 Mar 2004, Erik Thiele wrote: > > > On Mon, 22 Mar 2004 12:13:29 +0200 (EET) > > Achilleus Mantzios <achill@matrix.gatewaynet.com> wrote: > > > > > O kyrios Erik Thiele egrapse stis Mar 22, 2004 : > > > > > > Did you check out the DEFERRABLE option on the constraint? > > > > > > > DEFERRABLE > > NOT DEFERRABLE > > > > This controls whether the constraint can be deferred. A constraint that > > is not deferrable will be checked immediately after every command. > > Checking of constraints that are deferrable may be postponed until the > > end of the transaction (using the SET CONSTRAINTS command). NOT > > DEFERRABLE is the default. > > > > !!!! Only foreign key constraints currently accept > > this clause. All other constraint types are not deferrable. !!!! > > > > my constraint is not a foreign key constraint.... > > 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; begin transaction; insert into a values(4); (ok) insert into a values(10); (ok) commit; (no no i dont want to) is that possible? cu erik -- Erik Thiele
В списке pgsql-sql по дате отправления: