Re: INSERT RULE doesn't allow OLD, so how does one work with serial datatypes?

From: Martijn van Oosterhout <kleptog(at)svana(dot)org>
To: Karen Hill <karen_hill22(at)yahoo(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: INSERT RULE doesn't allow OLD, so how does one work with serial datatypes?
Date: 2006-05-13 21:18:10
Message-ID: 20060513211810.GM12955@svana.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Sat, May 13, 2006 at 02:11:14PM -0700, Karen Hill wrote:
> I'm having a bit of mystery in solving a postgresql puzzle. I have a
> table that when it gets inserted or updated or deleted it is logged
> into a log table. The log table contains who (current_user) did the
> insert/update/delete the CURRENT_TIMESTAMP. Everything works great
> except the INSERT because I cannot use OLD and NEW increments the
> serial twice!

You cannot use OLD because there is no old row. And rules are like
macros, so the nextval() gets evaluated twice.

You probably want a trigger...
--
Martijn van Oosterhout <kleptog(at)svana(dot)org> http://svana.org/kleptog/
> From each according to his ability. To each according to his ability to litigate.

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Jerry LeVan 2006-05-13 21:41:58 Mac Problem with Tunneling...
Previous Message syohonn@gmail.com 2006-05-13 21:15:52 Pass in variable from user???