A statement level trigger is basically a notification that the table has
been touched. You do not have access to the new or old tables.
You can also write a DO ALSO rule on the table, which will accomplish
what you want.
Joseph Shraibman wrote:
> I have a trigger that updates a count table, based on status. The count
> table looks like this:
>
> key status count
> a 1 300
> a 2 400
> b 1 100
> b 2 200
>
> The problem is that for large updates when I do "UPDATE table SET status
> = 1 WHERE status = 2 and key = 'a';" the row level trigger fires for
> each row updated, decrementing the a 2 row and incrmenting the a 1 row.
> For large updates this really slows things down.
>
> Question #1: how do I speed this up? I need a way to run a trigger on
> all rows at once.
>
> Q #2: how do satement level triggers work? The examples in the pg docs
> only show row level triggers.