Thread: Create Rule problems

Create Rule problems

From
Doug Younger
Date:
Hello, I'm trying to set up some rules and was following the examples in the
Programmer's guide form the docs, and it gives an example similar to this:

CREATE RULE log_shoelace AS ON UPDATE TO shoelace_data WHERE NEW.sl_avail != OLD.sl_avail
DO INSERT INTO shoelace_log VALUES (                NEW.sl_name,                NEW.sl_avail,
getpgusername().               'now'::text              );
 

What I want to do is very similar:

CREATE RULE update_login AS ON UPDATE TO user_info WHERE NEW.login != OLD.login
DO UPDATE user_dept SET login = NEW.login WHERE login = OLD.login;

I get an error:
"ERROR: Table old does not exist."
What's going on?

Also, the docs say you can do multiple actions in a rule... what is the syntax?
I tried putting the actions in parens separated by semicolons or commas wit
no luck...
There wasn't an example in the docs that did more than on action.   

Thanks, Doug.