Re: insert trigger

From: Bruno Wolff III <bruno(at)wolff(dot)to>
To: Roberto Benitez <RBENITEZ(at)houston(dot)rr(dot)com>
Cc: pgsql-admin(at)postgresql(dot)org
Subject: Re: insert trigger
Date: 2002-11-07 16:33:34
Message-ID: 20021107163334.GA17058@wolff.to
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

On Mon, Nov 04, 2002 at 21:05:17 -0600,
Roberto Benitez <RBENITEZ(at)houston(dot)rr(dot)com> wrote:
> I have the following situation:
>
> when a new record is inserted in to a psql table, i want to be able to update certain fields. the way i'm doing it right now..to find the last record inserted...is by sorting the primary key (serial) in descending order and taking the first item in the list...the one at the top should be the one i just entered...and of course, i then procede to update the fieldsd i need to update..
> So, basically would like to know if this will always work. will the one at the top (the one w/ the highest primary key [serial type]) always be the one i just entered. AND does psql ALWAYS execute the trigger(s) after EVERY single record that is inerted. what would happen if [ n ] different users try to insert records simultaniously? will psql insert one-execute the trigger, insert the next-execute the trigger..and so on? or will it insert ALL [n] records AND THEN execute the trigger?

If you are writing an insert trigger the "new" record should have the
value being inserted into serial column. You don't want to do a select
for the highest value to get this value. Besides being less efficient,
you have a more complicated locking situation to worry about.

In response to

Browse pgsql-admin by date

  From Date Subject
Next Message scott.marlowe 2002-11-07 17:19:39 Re: [GENERAL] Can't connect to PGSQL
Previous Message Stephan Szabo 2002-11-07 16:32:25 Re: insert trigger