On 07/23/2015 12:09 PM, Adrian Klaver
wrote:
On
07/23/2015 04:57 AM, Tim Smith wrote:
Andrew,
From the manual:
It is important to realize that a rule is really a command
transformation mechanism, or command macro. The transformation
happens
before the execution of the command starts. If you actually want
an
operation that fires independently for each physical row, you
probably
want to use a trigger, not a rule
Thus, I should not have to use a trigger for TRUNCATE because
the "each
row" concept does not apply. Plus it makes perfect sense to
want to
transform the truncate command and transform into ignore
Just in case it has not been made obvious yet, rules are silently
deprecated. They still exist because views depend on them, but it
is generally considered best practices to not use them outside
that realm. So if you want the rule behavior to change for
TRUNCATE(if that is even possible) you are fighting an uphill
battle. You may pursue that fight of course, but I would think you
will get a quicker return on your time if you just forget about
using a RULE and stick to a TRIGGER instead.
Or change to using
delete instead of truncate?
|