On Thu, 2010-09-09 at 17:07 -0400, A.M. wrote:
> Is there a technical limitation which prevents DO from being used in rules or am I missing something with this?
>
> CREATE RULE test_update AS ON UPDATE TO test DO INSTEAD DO $$
> BEGIN;
> RAISE NOTICE 'hello';
> END;
> $$;
>
> Cheers,
> M
From the docs here:
http://www.postgresql.org/docs/9.0/static/sql-createrule.html
I see:
"Valid commands are SELECT, INSERT, UPDATE, DELETE, or NOTIFY."
And I assume that DO is a separate command that is not valid for a rule
such as this.
As a workaround, you can make a named function and do "SELECT
myfunction()" as the INSTEAD clause.
Regards,
Jeff Davis