Re: Insert with query - Mailing list pgsql-general

From Adrian Klaver
Subject Re: Insert with query
Date
Msg-id 51AA3244.4050506@gmail.com
Whole thread Raw
In response to Re: Insert with query  (Kevin Grittner <kgrittn@ymail.com>)
List pgsql-general
On 06/01/2013 09:22 AM, Kevin Grittner wrote:
> Adrian Klaver <adrian.klaver@gmail.com> wrote:
>> On 06/01/2013 06:47 AM, Kevin Grittner wrote:
>
>>> Currently on an AFTER ... FOR EACH ROW we fire the trigger once
>>> *for* each affected row, that's true.  But we don't do it
>>> immediately after the *triggering event* -- we do it immediately
>>> after the *data change statement*.  The issue isn't how many times
>>> we execute the trigger, or with what parameters, but *when* it
>>> runs.
>>
>> Aah, that was the part I was missing. So to see if I understand, in the
>> OPs case:
>>
>> 1) The first case worked as Juliano expected because the INSERTs where
>> done in a loop where each INSERT was a discrete statement and there was
>> a 1:1 correspondence between statement and triggering event.
>>
>> 2) The second case did not work as expected because the INSERTs where
>> wrapped up in a single statement and the AFTER triggers ran for each row
>> after all the rows where inserted not after each row was inserted.
>
> Exactly.

Hmm. I am going to have to pay more attention to how I move data when
using AFTER triggers, for instance using the single row vs multirow
forms of INSERT. Thanks for the explanation it was enlightening.

>
> --
> Kevin Grittner
> EnterpriseDB: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company
>
>


--
Adrian Klaver
adrian.klaver@gmail.com


pgsql-general by date:

Previous
From: Kevin Grittner
Date:
Subject: Re: Insert with query
Next
From: Kevin Grittner
Date:
Subject: Re: Strange behavior of "=" as assignment operator