> On Sat, 3 Feb 2001, Tom Lane wrote:
>
> > I get
> >
> > regression=# SELECT * FROM orders;
> > order_id | menu_id | price
> > ----------+---------+-------
> > 1 | 2 | -1
> > (1 row)
> >
> > which is the correct result given that rules are executed before the
> > original query. (Which is why you need a trigger for this...)
>
> OK.
>
> I think that Bruce's book is inaccurate then. In section D.19 (p. 299),
> also reproduced on the web at
> http://www.postgresql.org/docs/aw_pgsql_book/node490.html, this example is
> given:
>
> All new employees must make 5,000 or less:
>
> CREATE RULE example_5 AS
> ON INSERT TO emp
> WHERE new.salary > 5000 DO
> UPDATE emp SET salary = 5000
> WHERE emp.oid = new.oid;
I checked the current create_rule.sgml file, and this example query is
no longer in the file. Not sure why it was removed, but it will not
appear in 7.1.
--
Bruce Momjian | http://candle.pha.pa.us
[EMAIL PROTECTED] | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026