(fwd) Re: [HACKERS] SQL Triggers

Andrey Gerzhov (kittle@freeland.alex-ua.com)
Wed, 30 Sep 1998 23:51:06 +0300 (EEST)

-- forwarded message --
Path: freeland.alex-ua.com!barmaglot.alex-ua.com!news.alexradio.kiev.ua!not-for-mail
Message-ID: <m0zMbFG-00006FC@druid.net>
From: darcy@druid.net (D'Arcy J.M. Cain)
Subject: Re: [HACKERS] SQL Triggers
To: jwieck@debis.com
Date: Fri, 25 Sep 1998 13:01:26 -0400 (EDT)
Newsgroups: alex.gated.pgsql.hackers
Lines: 41
Xref: freeland.alex-ua.com alex.gated.pgsql.hackers:1426

Thus spake Jan Wieck
> > darcy=> CREATE FUNCTION function_dead(int)
> > darcy-> RETURNS int
> > darcy-> AS 'UPDATE bid SET live = \'f\' WHERE item_id = $1;
> > darcy'> SELECT 1 AS ignore_this'
> > darcy-> LANGUAGE 'sql';
> > CREATE
> > darcy=> CREATE TRIGGER trigger_dead BEFORE INSERT OR UPDATE
> > darcy-> ON bid
> > darcy-> FOR EACH ROW
> > darcy-> EXECUTE PROCEDURE function_dead (item_id);
> > ERROR: CreateTrigger: function function_dead () does not exist
> > darcy=> SELECT function_dead(1);
> > function_dead
> > -------------
> > 1
> > (1 row)
>
> The arguments aren't right and the return type too. Trigger
> procedures take no arguments in their definition and return
> OPAQUE type. They really return a tuple of the table they are
> actually fired for.

Not sure I follow. The argument is an int (or int4 as it defaults to)
and I tried various combos of int and int4 in the procedure definition

As for the opaque type return, I get an error message when I try to
create an SQL function returning opaque. The "SELECT 1 AS ignore_this"
is taken straight from the examples.

> Take a look at PL/pgSQL and it's docs which is already in the
> CVS and will be shipped with 6.4.

I have the current sources (I sup daily) but I couldn't find any examples
of fcreate trigger.

-- 
D'Arcy J.M. Cain <darcy@{druid|vex}.net>   |  Democracy is three wolves
http://www.druid.net/darcy/                |  and a sheep voting on
+1 416 424 2871     (DoD#0082)    (eNTP)   |  what's for dinner.

-- end of forwarded message --

-- 
С тем, что не помешает никогда,
                                               Kittle