Re: Why can't I put a BEFORE EACH ROW trigger on a view?

From: "Webb Sprague" <webb(dot)sprague(at)gmail(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: Why can't I put a BEFORE EACH ROW trigger on a view?
Date: 2007-02-25 00:55:45
Message-ID: b11ea23c0702241655l4365c82byde85487b62935d4c@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

I also think that a view is supposed to be just that -- a *view* of
underlying data, which in no way modifies the data. I don't know much
about the design ideas behind SQL, but I think this view of views
(haha) is an underlying assumption. If you are modifying data when
you do a select on a view, you are probably not using SQL the way it
was intended (not that that is a bad thing, but ...)

Postgresql has "rules" which I *think* can rewrite select statements.
Rules are kind of a pain, but maybe what you want.

On 2/24/07, Webb Sprague <webb(dot)sprague(at)gmail(dot)com> wrote:
> >. I have _additional_
> > constraints to place on modifications done through
> > views, and trickyness involved in modifying the
> > underlying tables.
>
> Write a function foo that returns a set, then a view: "create view as
> select * from foo()". Incorporate all the trickiness in the function,
> including variables, multiple temporary tables, whatever you need.
>

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Karl O. Pinc 2007-02-25 01:11:22 Re: Why can't I put a BEFORE EACH ROW trigger on a view?
Previous Message Webb Sprague 2007-02-25 00:51:27 Re: Why can't I put a BEFORE EACH ROW trigger on a view?