Re: currval = currval+1

From: salah jubeh <s_jubeh(at)yahoo(dot)com>
To: Merlin Moncure <mmoncure(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: currval = currval+1
Date: 2011-06-01 15:22:31
Message-ID: 137533.68298.qm@web161503.mail.bf1.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

I have some rules on the table and I have dropped them and everything went fine.
the rule is as follow

CREATE OR REPLACE RULE status_change_ins AS
ON INSERT TO account DO INSERT INTO account_status_change_log (account_id,
account_status_id, status_change_date)

VALUES (new.account_id, new.account_status_id, now());

I do not know what is happing here, but this is a strange behavior.

Regards

________________________________
From: Merlin Moncure <mmoncure(at)gmail(dot)com>
To: salah jubeh <s_jubeh(at)yahoo(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Sent: Wed, June 1, 2011 4:54:36 PM
Subject: Re: [GENERAL] currval = currval+1

On Wed, Jun 1, 2011 at 9:27 AM, salah jubeh <s_jubeh(at)yahoo(dot)com> wrote:
> I have the following SQL statements
>
> BEGIN;
> -- account_id is a sequence
> INSERT INTO account (name) VALUES ('test customer'||random()::text);
> -- account_id is a foreign key
> INSERT INTO account_detail (account_id,......) VALUES ((SELECT * from
> currval('account_acccount_id_seq')), ........);
> COMMIT;
>
> ERROR: insert or update on table "account_detail" violates foreign key
> constraint ...
>
>
>
> I have executed the above without a transaction but in the same session, and
> the issue was that the current value of the account points to the curval + 1
>
> I have solved the above by subtracting 1 in the second insert statement. Why
> I am having this problem, I have used current value many time and this is
> the first time I have this behavior.

works for me -- are you sure you don't have a trigger or something
else going on behind the scenes?

merlin

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Merlin Moncure 2011-06-01 15:43:42 Re: currval = currval+1
Previous Message Merlin Moncure 2011-06-01 14:54:36 Re: currval = currval+1