Re: rules - Mailing list pgsql-sql

From Jan Wieck
Subject Re: rules
Date
Msg-id 200104262124.QAA04341@jupiter.jw.home
Whole thread Raw
In response to rules  (Martín Marqués <martin@bugs.unl.edu.ar>)
List pgsql-sql
Martín Marqués wrote:
> Is it posible to make a rule execute more then one query?
>
> Something like:
>
> CREATE RULE rule_name AS ON INSERT TO table1
> DO INSTEAD
> INSERT INTO table2 VALUES
> (new.value1,new.value2)
> INSERT INTO table3 VALUES
> (x,y)
   Yes:
       CREATE RULE rule_name AS ON INSERT TO table1       DO INSTEAD (           INSERT INTO table2 VALUES
(new.value1,new.value2);          INSERT INTO table3 VALUES           (x,y);       );
 
   You just omitted the parens and semicoli :-)

>
> If not, is there a way to do this? Triggers maybe?
   Triggers  too  (even if yes above and effectively you haven't   asked for):
       CREATE FUNCTION whatever () RETURNS opaque AS '       BEGIN           INSERT INTO table2 VALUES
(new.value1,new.value2);          INSERT INTO table3 VALUES           (...);           RETURN NULL; -- returning NULL
froma BEFORE trigger                        -- suppresses the triggering INSERT to                        -- happen.
  END;'       LANGUAGE 'plpgsql';
 
       CREATE TRIGGER table1_ins BEFORE INSERT ON table1           FOR EACH ROW EXECUTE whatever();


Jan

--

#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#================================================== JanWieck@Yahoo.com #



_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com



pgsql-sql by date:

Previous
From: Joel Burton
Date:
Subject: Re: rules
Next
From: Tom Lane
Date:
Subject: Re: No JOINs in UPDATE ... FROM?