Re: Triggers and SQL functions

From: "Philippe Rochat (RSR: 318 17 93)" <prochat(at)lbdsun(dot)epfl(dot)ch>
To: pierre(at)desertmoon(dot)com, pgsql-sql(at)postgresql(dot)org
Subject: Re: Triggers and SQL functions
Date: 1998-10-16 22:38:26
Message-ID: 3627CAE2.BB7E1F9D@lbdsun.epfl.ch
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

pierre(at)desertmoon(dot)com wrote:
>
> >
> > I have exactly the same problem as you mentioned in a mail
> > sent to postgres mailing lists about creating trigger using
> > sql function ...
> >
> > Did you get the solution to you problem ?
> >
> > Ph.R.
> >
> >
>
> I actually found the solution in the docs. The solution is to understand
> the difference between triggers and rules. Triggers are used primarily
> to call C/C++ library functions that you can create and add onto the
> postgresql system.
>
> Rules on the other-hand act just like 'triggers' but only call/usr
> sql to perform their functions.
>
> So the solution: Use rules to create trigger-like actions that run
> stored sql procedures. There is a man page on 'create rule' that you
> can use to get more info.
>
> -=pierre
I found out the following trick ... but I m not sure it s clean !

-- Makes all user at least belonging to Void ... just in case
CREATE FUNCTION adduservoid () returns boolean
as 'insert into user_realm
select id as uid,1 as rlid,false as adminuser
from user where not exists (
select uid from user_realm where user.id=user_realm.uid
);
select true as ignore_this;'
language 'sql';
CREATE RULE autoadduservoid as
on insert to user
do select adduservoid();

Ph.R.

--
_____________________________________________________________________
Philippe Rochat, EPFL DI-LBD
Database Laboratory CH-1015 LAUSANNE
Swiss Federal Institute of Technology (EPFL) tel:++41 21 693 52 53
Beep-EPFL: 181 4644 fax:++41 21 693 51 95
Private: Grammont, 9 1007 LAUSANNE tel:++41 21 617 03 05
mailto:Philippe(dot)Rochat(at)epfl(dot)ch, http://lbdwww.epfl.ch/~prochat

Browse pgsql-sql by date

  From Date Subject
Next Message Vladimir Litovka 1998-10-17 13:19:15 Is this BUG or FEATURE?
Previous Message Philippe Rochat (RSR: 318 17 93) 1998-10-16 22:23:00 Re: Triggers and SQL functions