Обсуждение: CREATE TRIGGER ... FOR EACH STATEMENT

Поиск
Список
Период
Сортировка

CREATE TRIGGER ... FOR EACH STATEMENT

От
Mischa Sandberg
Дата:
I notice a dearth of description of the FOR EACH STATEMENT flavour of 
triggers, even though OLD_TABLE and NEW_TABLE are mentioned.

After years of Sybase & MSSQL, being able to deal with the entire
INSERTED/DELETED rowsets in a trigger, rather than nibbling away
row by row, has been a great efficiency boost. In fact, the only I've
resorted to FOR EACH ROW triggers is where joining OLD_TABLE and
NEW_TABLE by primary key burned the CPU --- both pseudo-tables being
very large in some updates, and perforce having no indexes ...

I can see from  src/backend/command/trigger.c that 
ExecASInsertTriggers() would have a hard time getting at the equivalent
of OLD_TABLE and NEW_TABLE, ExecBSInsertTriggers even worse.

Anyone else out there who feels this would be a significant
enhancement?