Re: IF- statements in a rule's 'DO INSTEAD SELECT ...'- - Mailing list pgsql-general

From Nigel J. Andrews
Subject Re: IF- statements in a rule's 'DO INSTEAD SELECT ...'-
Date
Msg-id Pine.LNX.4.21.0205061812140.2674-100000@ponder.fairway2k.co.uk
Whole thread Raw
In response to IF- statements in a rule's 'DO INSTEAD SELECT ...'- statement  ("Bertin, Philippe" <philippe.bertin@barco.com>)
List pgsql-general
On Mon, 6 May 2002, Bertin, Philippe wrote:

> Hello, all,
>
> Can I insert IF- statements into a rule's DO INSTEAD- clause ? I have the
> problem in a situation like :
>
> create rule vprinsert as on insert to vpr_status
>         do instead (DDDDD);
>
> if I insert as DDDDD a genuine SELECT- statement (or, Alvaro, several select
> statements), everything is OK; but if I start inserting IF- statements, it's
> not OK any more (syntax errors). Don't I just know the exact syntax, or is
> this simply impossible ?
>
> Anyone any idea on how to resolve this ?>
>
> Regads,
>
> Philippe Bertin.
>
> P.S. To have an idea why I want to insert IF- statements into the rule,
> please refer to my newsgroup posting of last Friday ...


Sorry, can't remember that posting. However, what you need to do is create a
function which does what you want to do on insert to your object and then have
a do instead rule that simply does:

  SELECT my_on_insert_fn(NEW.field1, NEW.field2, ...)

I've been told it should be possible to pass NEW into the function as a record
of the correct type (i.e. the attached object's name), however, I couldn't get
that to work and so ended up listing the fields as individual parameters. If
anyone can give me any more hints on this I'd appreciate it since I'm on the 16
parameter default limit.


--
Nigel J. Andrews
Director

---
Logictree Systems Limited
Computer Consultants


pgsql-general by date:

Previous
From: Stephan Szabo
Date:
Subject: Re: Foreign Key Option
Next
From: "Nigel J. Andrews"
Date:
Subject: Re: pgaccess