Re: question on update/delete rules on views

Поиск
Список
Период
Сортировка
От Kyle Bateman
Тема Re: question on update/delete rules on views
Дата
Msg-id 3922B7A2.5BEF5F5E@actarg.com
обсуждение исходный текст
Ответ на question on update/delete rules on views  (Kyle Bateman <kyle@actarg.com>)
Ответы Re: question on update/delete rules on views  (Brook Milligan <brook@biology.nmsu.edu>)
Список pgsql-sql
Brook Milligan wrote:

>    create rule view_a_r_update as on update to view_a
>            do instead
>                    update a set two = new.two;
>
> The problem is that your INSTEAD UPDATE rule is not constrained in any
> way; it DOES hit every row.  Instead, do something like:
>
>    create rule view_a_r_update as on update to view_a
>            do instead
>                    update a set two = new.two
>                    where id = old.id;
>
> where id is a primary key in your table.
>

Thanks for the help.  The problem with your suggestion is the view has to
anticipate which column(s) the calling query wants to look at.  What if
the calling query has not specified the primary key in its where clause?
In our real case, the table has many columns.  There are a variety of
queries that act on the table based on a variety of conditions in a
variety of columns.  I'd like to avoid having to have a separate rule or
view for every possible where combination.  Maybe that is not possible,
but the manual seems to say it should work, so that's why I'm asking the
question.


Вложения

В списке pgsql-sql по дате отправления:

Предыдущее
От: "Mitch Vincent"
Дата:
Сообщение: Re: lower() for varchar data by creating an index
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Storing binary data in a column