From: | Jan Wieck <janwieck(at)Yahoo(dot)com> |
---|---|
To: | Gisle Dankel <gmd(at)uk(dot)research(dot)att(dot)com> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: List of error messages |
Date: | 2000-09-13 07:36:16 |
Message-ID: | 200009130736.CAA01039@jupiter.jw.home |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Gisle Dankel wrote:
>
> Hi,
> I couldn't find any explanations of error messages in the docs.
>
> I get this error message:
> ERROR: triggered data change violation on relation "22"
>
> after doing
>
> DELETE FROM "22" WHERE id = 36;
>
> There's no foreign keys referring to this table, nor any triggers that I
> have explicitly defined.
> This occurs inside a transaction. When I tried it outside the transaction
> it worked fine!
>
> Anyone got any idea of what is going on?
> Do you need more information?
Maybe this table is the referring one in a foreign key
relationship?
Triggers/foreign keys are the only things that can cause the
above error message. It is a requirement of the SQL99 specs
that one and the same row, that is part of referential
integrity constraints or triggers, cannot be touched twice
during a transaction.
So if you did (in the same transaction)
UPDATE "22" SET "22 A)" = 2.2 WHERE id = 36;
then the above DELETE might be forbidden as of the specs.
Jan
--
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me. #
#================================================== JanWieck(at)Yahoo(dot)com #
From | Date | Subject | |
---|---|---|---|
Next Message | Steve Heaven | 2000-09-13 10:33:04 | migrating test db -> live db |
Previous Message | Paul McGarry | 2000-09-13 04:20:35 | Replication of a portion of data to another database |