Re: [SQL] Create Rule problems - Mailing list pgsql-sql

From Doug Younger
Subject Re: [SQL] Create Rule problems
Date
Msg-id 4.1.19990517130233.009504e0@proxy
Whole thread Raw
In response to Re: [SQL] Create Rule problems  (jwieck@debis.com (Jan Wieck))
List pgsql-sql
Thanks for the reply... I had a feeling it would be a version problem. I upgraded to 6.4.2 and both things work.

At 5/17/99 05:56 AM, Jan Wieck wrote:
>>
>> 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?
>
>    Which  PostgreSQL  release?  I've  just  checked  it with the
>    current v6.5 tree and I'm sure it worked too with the  v6.4.2
>    released.
>
>>
>> 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.
>
>    Current v6.5 tree can handle it. You have to put parens arond
>    the actions and separate them with semicolon:
>
>        CREATE TABLE t1 (a int4, b text);
>        CREATE TABLE t2 (a int4, b text);
>        CREATE TABLE t3 (a int4, b text);
>
>        CREATE RULE r1 AS ON UPDATE TO t1 WHERE NEW.b != OLD.b DO (
>          UPDATE t2 SET b = NEW.b WHERE t2.a = OLD.a;
>          UPDATE t3 SET b = NEW.b WHERE t3.a = OLD.a;
>        );
>
>    This works for me.
>
>
>Jan



pgsql-sql by date:

Previous
From: David Sauer
Date:
Subject: is there any docs for new LOCK TABLE statement ?
Next
From: "Israel Zavalza Bahena"
Date:
Subject: Encriptacion en Bases de Datos