On 05/31/2013 06:32 AM, Kevin Grittner wrote:
> Juliano Amaral Chaves <juliano.amaral@hotmail.com> wrote:
>
>> By doing insert into a table using a query, it seems that all
>> records of consultation were included bypassing the AFTER INSERT
>> triggers and as few as after all the records already included,
>> the TRIGGER is fired for each record, I wonder if this occurrence
>> is normal.
>>
>> I created an example that demonstrates my doubt, where the 1st
>> case works properly. The 2nd case is restricted by TRIGGER when I
>> think, that could not be
>
>> [ example showing that an AFTER INSERT trigger sees the modified
>> table as of the state after the INSERT statement completes,
>> rather than the state after the insert of the individual row ]
>
> I can see where that would be confusing, but things are operating
> as designed, AFAICS. The trigger fires after the statement, not
> after each affected row is processed.
But why? The OP specified FOR EACH ROW in the trigger statement.
>
> --
> Kevin Grittner
> EnterpriseDB: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company
>
>
--
Adrian Klaver
adrian.klaver@gmail.com